如何从代码部分访问语言文件中的文本?

时间:2014-08-20 07:49:51

标签: inno-setup

在Inno Setup中,可以从语言文件访问文本,例如以下方式(其中CreateDesktopIcon是要查找的文本条目):

[Tasks]
Name: "TaskDesktopIcon"; Description: "{cm:CreateDesktopIcon}"; Flags:

我的问题是如何从Inno Setup脚本的代码部分访问语言文件中的文本?

我尝试了以下内容,但编译器不接受语法:

[code]
var
  pageAutoLogon: TWizardPage;

procedure CreateAutoLogonPage;
begin 
   pageAutoLogon := CreateCustomPage(wpSelectTasks, "{cm:AutoLogonCredentialsTitle}", "{cm:AutoLogonCredentialsDescription}");
...

感谢任何帮助!

2 个答案:

答案 0 :(得分:2)

您需要调用ExpandConstant(或ExpandConstantEx)函数来评估脚本代码中的常量。就像这样:

procedure CreateAutoLogonPage;
begin 
  pageAutoLogon := CreateCustomPage(wpSelectTasks, ExpandConstant('{cm:AutoLogonCredentialsTitle}'), ExpandConstant('{cm:AutoLogonCredentialsDescription}'));
  ...
end;

答案 1 :(得分:1)

您可以使用CustomMessage()功能从[CustomMessages]部分检索值。

pageAutoLogon := CreateCustomPage(wpSelectTasks, CustomMessage('AutoLogonCredentialsTitle'), CustomMessage('AutoLogonCredentialsDescription'));

对于普通[Messages],您可以将SetupMessage()与其中一个枚举值一起使用。