我想将一个名为SetupMessageID[msgButtonNotify]
的新设置消息ID添加到Inno Setup。
我还需要使用像msgButtonNotify=Notify
这样的.isl文件修改其文本。
如何在不收到任何异常消息的情况下添加新的安装消息ID?
如果可能,我应该在哪里添加它的源代码,包括MsgIDs.pas
?
如何更新MessageHdrID
中的Struct.pas
以添加新的设置消息ID?
因为,Jordan Russel在MsgIDs.pas
上发出此警告:{ Note: When any messages are added/deleted/changed, MessagesHdrID needs to be updated in Struct.pas }
我无法理解我应该在Struct.pas
更新什么内容。
Struct.pas
中可以看到与此警告相关的行:
TMessagesHdrID = array[0..63] of AnsiChar;
和
MessagesHdrID: TMessagesHdrID = 'Inno Setup Messages (5.5.3)'{$IFDEF UNICODE}+' (u)'{$ENDIF};
这些行应该更新什么?
Jordan Russel的意思是Update
那里???
我应该增加AnsiChar数组的值还是其他什么?
我问这个是因为当我向msgButtonNotify
添加名为MsgIDs.pas
的新设置消息ID并将TMessagesHdrID
的AnsiChar数组长度增加到65时,
在Default.isl
中添加我的新安装消息ID,然后编译项目并尝试使用Inno Setup Compiler进行测试编译,安装程序加载器说Message name "ButtonNotify" in Default.isl is not recognized by this version of Inno Setup
。
为什么会发生这种异常?
在Inno Setup Compiler的源代码中添加新的安装消息ID时,是否还有其他单元需要更新?
先谢谢。
答案 0 :(得分:1)
我没有看到重新编译Inno Setup以添加新消息的重点。
使用.iss
或[CustomMessages]
ButtonNotify=&Notify
中的CustomMessages
section添加新邮件。
procedure InitializeWizard();
var
NotifyButton: TNewButton;
begin
NotifyButton := TNewButton.Create(WizardForm);
NotifyButton.Parent := WizardForm;
NotifyButton.Caption := CustomMessage('ButtonNotify');
...
end;
然后使用CustomMessage
function(或{cm:...}
constant)加载邮件。
{{1}}