Function 在Unicode Inno设置中,是否可以调用函数(代码)并在;“运行”部分;?
在Inno安装脚本的Function 在Unicode Inno设置中,是否可以调用函数(代码)并在;“运行”部分;?,function,inno-setup,Function,Inno Setup,在Inno安装脚本的[Run]部分下,我有以下内容 [Run] Filename: "{sys}\cscript.exe"; \ Parameters: """{tmp}\myScript.vbs"" ""{code:GetStringValue}"" {#CONST_PORT}"; \ Description: "Setting the port to {#CONST_PORT}."; \ StatusMsg: "Setting the port to {#CONST_PORT}.
[Run]
部分下,我有以下内容
[Run]
Filename: "{sys}\cscript.exe"; \
Parameters: """{tmp}\myScript.vbs"" ""{code:GetStringValue}"" {#CONST_PORT}"; \
Description: "Setting the port to {#CONST_PORT}."; \
StatusMsg: "Setting the port to {#CONST_PORT}."; \
Tasks: SetPorts; \
Check: SetPort({#CONST_PORT}); \
Flags: runhidden;
然后在[code]
部分我有以下内容
[Run]
Filename: "{sys}\cscript.exe"; \
Parameters: """{tmp}\myScript.vbs"" ""{code:GetStringValue}"" {#CONST_PORT}"; \
Description: "Setting the port to {#CONST_PORT}."; \
StatusMsg: "Setting the port to {#CONST_PORT}."; \
Tasks: SetPorts; \
Check: SetPort({#CONST_PORT}); \
Flags: runhidden;
[代码]
函数GetStringValue:String;
变量
版本:整数;
开始
版本:=20;
结果:='这是一个显示int'+IntToStr(版本)的测试;
结束;
该对象的函数将在[Run]
部分返回字符串。目前,如果在[Run]
部分使用{code:}
,我可以告诉您需要调用一个只返回布尔值的函数。有办法解决这个问题吗?我需要能够在[Run]
部分中获取一个动态字符串以传递给我的VBScript
目前,如果在[Run]
部分使用{code:}
,我可以告诉您需要调用一个只返回布尔值的函数
那不是真的
引用以下文件:
被调用函数必须有一个名为Param
的字符串参数,必须根据常量的使用位置返回字符串或布尔值
通常,在Check
参数中使用脚本(code:
)常量时,它必须返回布尔值。在其他任何地方(据我所知),它都必须返回字符串
因此,您的脚本是正确的,只是缺少参数(这是必需的,即使您实际上不需要/使用它):
[代码]
函数GetStringValue(参数:string):string;
...
要使用[Run]
部分中的函数,请使用类似{code:GetStringValue | null}
。无需使用|null
。只需使用{code:GetStringValue}
-请参阅.Ahh ok,很高兴知道。我在读你的答案,因为那也是“强制性”部分的一部分