Inno Setup的VCL樣式插件僅用於在Inno Setup中的窗體和控件上繪製樣式。爲了獲得這些DLL的形式來剝皮,你需要導出從DLL中的函數,Inno Setup的可以在文件傳遞...
Inno Setup的
[Code]
#define public VclStyleFile "Carbon (2).vsf"
procedure DllLoadStyle(const StyleFilename: WideString);
external '[email protected] stdcall';
function InitializeSetup: Boolean;
begin
ExtractTemporaryFile('{#VclStyleFile}');
LoadVCLStyleW(ExpandConstant('{tmp}\{#VclStyleFile}'));
DllInit; //Presumed your DLL needs to initialize/instantiate the form
DllLoadStyle(ExpandConstant('{tmp}\{#VclStyleFile}'));
...
end;
德爾福DLL
uses
Vcl.Themes,
procedure DllLoadStyle(const StyleFilename: WideString); stdcall;
begin
TStyleManager.SetStyle(TStyleManager.LoadFromFile(StyleFilename))
end;
exports
DllLoadStyle;
實際上,我猜,我有通過將風格的文件名到它加載這個樣式文件到每個DLL,使用例如像'ApplyVclStyle導出程序(const的文件名:WideS tring);' –
該插件只能對inno setup創建的表單和控件進行皮膚處理。對於你的DLL的形式,你必須像你在評論中所說的那樣加載VCL樣式。 – RRUZ