我在从源代码构建 Inno Setup 时遇到了一点问题。我想修改TNewButton类型以在设置按钮中添加更多功能。例如,我将类型声明从
TNewButton = class(TButton)
protected
procedure CreateParams(var Params: TCreateParams); override;
end;
至
TNewButton = class(TButton)
procedure CMDialogChar( var Msg: TCMDialogChar); message cm_DialogChar;
private
FNoShortcut : Boolean;
protected
procedure CreateParams(var Params: TCreateParams); override;
public
property NoShortcut : Boolean read FNoShortcut write FNoShortcut;
end;
所以我创建了一个私有属性NoShort,它可以通过公共属性NoShortcut访问,并在过程CMDialogChar中使用(我想在特定情况下禁用,可以通过快捷方式激活按钮)。我还想实现一些其他的东西,但它们会导致同样的问题:
我可以毫无问题地用这些修改编译 Inno Setup(我使用Delphi 2009来获得 unicode 支持)并且还能够创建一个安装程序。但是,当我尝试访问 .iss 文件中的新属性NoShortcut(例如“WizardForm.NextButton.NoShortcut := true;”)时,Inno 编译器会因错误而停止
Unknown Identifier 'NOSHORTCUT'
我是否必须以特殊方式注册这些新属性和属性才能在我的 iss 文件中使用它们?任何帮助将不胜感激:D