Ich habe ein Problem mit dem Laden von VCL-Stilen für Inno-Setup. Das Installationsprogramm wird korrekt generiert, bleibt jedoch weiterhin ein alter Stil. Neue Stile werden nicht geladen.Wie Sie VCL-Stile auf DLL-basierte Formulare in Inno-Setup anwenden? Neue Stile werden nicht geladen
Ich verstehe nicht, warum das passiert. Bitte helfen Sie!
Hier mein iss Code:
[Files]
...
; add library to create new styles
Source: "VclStylesinno.dll"; DestDir: {app}; Flags: dontcopy
Source: "Styles/Pink.vsf"; DestDir: {app}; Flags: dontcopy
[Code]
// Import the LoadVCLStyle function from VclStylesInno.DLL
procedure LoadVCLStyle(VClStyleFile: String); external '[email protected]:VclStylesInno.dll stdcall';
// Import the UnLoadVCLStyles function from VclStylesInno.DLL
procedure UnLoadVCLStyles; external '[email protected]:VclStylesInno.dll stdcall';
function InitializeSetup(): Boolean;
begin
ExtractTemporaryFile('Pink.vsf');
LoadVCLStyle(ExpandConstant('Pink.vsf'));
Result := True;
end;
Ich habe versucht, den Pfad einzugeben, den gleichen Effekt fortzusetzen "ExtractTemporaryFile ('Pink.vsf'); LoadVCLStyle (ExpandConstant ('Styles \ Pink.vsf')); Ergebnis: = True; ' – kisiel
Verwenden Sie einfach die {tmp} \, wie das Beispiel zeigt. Die 'ExtractTemporaryFile' extrahiert die Datei in einen temporären Ordner. –
OK. Problem gelöst. Danke für deine Hilfe und umgehe das Problem des Pfades. Ich habe eine Version von Inno Setup 5.5.6 Ansi verwendet. Dann sollte ich folgendes verwenden: 'Prozedur LoadVCLStyle (VClStyleFile: String); external 'LoadVCLStyleA @ files: VclStylesInno.dll stdcall'; ' – kisiel