【问题标题】:How to apply VCL Styles to DLL-based forms in Inno Setup? New styles will not load如何在 Inno Setup 中将 VCL 样式应用于基于 DLL 的表单?新样式不会加载
【发布时间】:2016-04-14 07:59:46
【问题描述】:

我在为 Inno Setup 加载 VCL 样式时遇到问题。安装程序生成正确,但仍然是旧样式。不会加载新样式。

我不明白为什么会这样。请帮忙!

这是我的ISS代码:

[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 'LoadVCLStyleW@files:VclStylesInno.dll stdcall';
// Import the UnLoadVCLStyles function from VclStylesInno.DLL
procedure UnLoadVCLStyles;
  external 'UnLoadVCLStyles@files:VclStylesInno.dll stdcall';

function InitializeSetup(): Boolean;
begin
   ExtractTemporaryFile('Pink.vsf');
   LoadVCLStyle(ExpandConstant('Pink.vsf'));
   Result := True;
end;

【问题讨论】:

    标签: inno-setup pascalscript vcl-styles vcl-styles.-utils


    【解决方案1】:

    只要关注VCL Styles sample script

    function InitializeSetup(): Boolean;
    begin
      ExtractTemporaryFile('Amakrits.vsf');
      LoadVCLStyle(ExpandConstant('{tmp}\Amakrits.vsf'));
      Result := True;
    end;
    

    注意{tmp}\

    您没有提供样式文件的路径,因此 LoadVCLStyle 失败,因为它找不到文件。

    【讨论】:

      猜你喜欢
      • 2014-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-10
      • 2017-07-21
      • 2012-03-30
      • 2013-09-01
      • 1970-01-01
      相关资源
      最近更新 更多