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