在 Inno Setup Icons 部分计算命令参数的值
Computing a value of command parameter in Inno Setup Icons section
我的问题是 Inno Setup - "Variant is null, cannot invoke" error while reading node value in XML file 的延续。在这个 post 中,我正在读取一个 XML 文件节点,并且能够使用过程 ProcGetWebAppNameFromXML
成功获取值,并且我正在尝试将该值传递给 [Icons]
部分, 但我越来越空了。
下面提到了代码片段。
[Run]
Filename: "{app}\test1.bat"; StatusMsg: "Running Services..."; \
BeforeInstall: ProcGetWebAppNameFromXML;
[Icons]
Name: "{commondesktop}\App"; Filename: "{pf}\Internet Explorer\iexplore.exe"; \
Parameters: """http://{code:GetWebAppNameFromXML|}/"""
过程 ProcGetWebAppNameFromXML
获取 webapp 名称(工作完全正常),我将其分配给全局变量。
[Code]
var
WebAppNameFromXML: String;
procedure ProcGetWebAppNameFromXML();
var
...
...
WebAppNameFromXML := LoadValueFromXML(applicationxmlFile, '//ns:application-name', 'application-name');
Log('WebApp name is logged correctly here..' + WebAppNameFromXML);
end;
我正在使用下面提到的函数来赋值。
function GetWebAppNameFromXML(Default: String): String;
begin
Result := WebAppNameFromXML;
end;
当我将函数 GetWebAppNameFromXML
传递给 Icons
部分时,我变空了。请注意,我在 [Run]
部分下面有 [Icons]
,我也使用了 ChangesAssociations=yes
。
提前致谢。
[Run]
部分作为最后一个处理。所以在 [Icons]
部分之后。
参见 https://jrsoftware.org/ishelp/index.php?topic=installorder
看起来你确实在滥用它。
在 CurStepChanged(ssInstall)
中调用 ProcGetWebAppNameFromXML
。
或者,如果您的 [Icons]
部分只需要 WebAppNameFromXML
,请直接阅读 GetWebAppNameFromXML
中的 XML – 您不需要任何全局变量。
我的问题是 Inno Setup - "Variant is null, cannot invoke" error while reading node value in XML file 的延续。在这个 post 中,我正在读取一个 XML 文件节点,并且能够使用过程 ProcGetWebAppNameFromXML
成功获取值,并且我正在尝试将该值传递给 [Icons]
部分, 但我越来越空了。
下面提到了代码片段。
[Run]
Filename: "{app}\test1.bat"; StatusMsg: "Running Services..."; \
BeforeInstall: ProcGetWebAppNameFromXML;
[Icons]
Name: "{commondesktop}\App"; Filename: "{pf}\Internet Explorer\iexplore.exe"; \
Parameters: """http://{code:GetWebAppNameFromXML|}/"""
过程 ProcGetWebAppNameFromXML
获取 webapp 名称(工作完全正常),我将其分配给全局变量。
[Code]
var
WebAppNameFromXML: String;
procedure ProcGetWebAppNameFromXML();
var
...
...
WebAppNameFromXML := LoadValueFromXML(applicationxmlFile, '//ns:application-name', 'application-name');
Log('WebApp name is logged correctly here..' + WebAppNameFromXML);
end;
我正在使用下面提到的函数来赋值。
function GetWebAppNameFromXML(Default: String): String;
begin
Result := WebAppNameFromXML;
end;
当我将函数 GetWebAppNameFromXML
传递给 Icons
部分时,我变空了。请注意,我在 [Run]
部分下面有 [Icons]
,我也使用了 ChangesAssociations=yes
。
提前致谢。
[Run]
部分作为最后一个处理。所以在 [Icons]
部分之后。
参见 https://jrsoftware.org/ishelp/index.php?topic=installorder
看起来你确实在滥用它。
在 CurStepChanged(ssInstall)
中调用 ProcGetWebAppNameFromXML
。
或者,如果您的 [Icons]
部分只需要 WebAppNameFromXML
,请直接阅读 GetWebAppNameFromXML
中的 XML – 您不需要任何全局变量。