【问题标题】:Skinned innosetup showing text instead of scrollbar显示文本而不是滚动条的蒙皮 innosetup
【发布时间】:2016-02-10 09:30:26
【问题描述】:

我正在尝试使用 InnoSetup 5.5.8 (u) 创建一个新的安装程序,并使用 CodeJock 的 ISSkin v3.0.0 进行蒙皮。我正在使用通过从他们的网站 (http://isskin.codejock.com/gettingstarted.asp) 复制代码示例来应用所提供的示例皮肤之一(Office 2007 Black)。

我在我们的许可协议页面上遇到了一些问题。我们目前在默认向导屏幕中使用 RTF 文件显示这一点。问题是在某些机器上我们得到的是文本('bef')而不是蒙皮滚动条:

文本(可能是错误消息的一部分)也不可靠,因为有时我会看到一个未蒙皮、禁用的滚动条。

我在我的主开发虚拟机上可靠地看到了预期的皮肤版本(安装了 Windows 8 Pro、Delphi 和 InnoSetup/ISSkin),但在我的主机上它是断断续续的(Win 10,未安装开发软件)

有没有人遇到过这样的事情并得到了不错的修复/解决方法?我已经确认删除皮肤代码提供了一个工作滚动条,因此现在提供了一个可行的解决方案。

【问题讨论】:

    标签: inno-setup skinning


    【解决方案1】:

    这看起来像是蒙皮机制中的一个错误,但“bef”真的很奇怪,我从未见过。官方支持怎么说?

    也许您可以尝试更新/使组件无效,以便正确重绘滚动条。

    您也可以尝试图形安装程序 (http://www.graphical-installer.com),它是不同的皮肤机制,并在那里检查这种行为(抱歉,自我宣传很少:)

    【讨论】:

    • 我同意我认为这是皮肤应用程序的问题。我怀疑它需要默认情况下不随 Windows 提供但未经确认的 Microsoft 运行时库之一。我已经向公司提交了一份错误报告。
    【解决方案2】:

    我对明文格式的解决方案:

    procedure InitializeWizard();
    var
      NewLicenseMemo: TMemo;
    
    begin
      WizardForm.LicenseMemo.Visible := false;
    
      NewLicenseMemo := TMemo.Create(WizardForm);
      with NewLicenseMemo do
      begin  
        Parent := WizardForm.LicenseMemo.Parent;      
        Left   := WizardForm.LicenseMemo.Left;
        Top    := WizardForm.LicenseMemo.Top;
        Width  := WizardForm.LicenseMemo.Width;
        Height := WizardForm.LicenseMemo.Height;        
        Text   := WizardForm.LicenseMemo.Text;
        ReadOnly   := True;
        ScrollBars := ssVertical;
      end; 
    
    end;
    

    【讨论】:

      猜你喜欢
      • 2020-03-21
      • 2012-12-03
      • 1970-01-01
      • 1970-01-01
      • 2011-03-14
      • 2018-01-12
      • 1970-01-01
      • 2014-11-08
      • 1970-01-01
      相关资源
      最近更新 更多