我是NSIS的新手,并开始使用CoolSoft NSIS对话框Designer来为我的安装程序创建自定义页面。我需要根据用户在下拉框中的选择来隐藏/取消隐藏某些文本框。我已将自定义页面包含在我的主脚本脚本文件中,但似乎无法访问我的自定义页面中定义的变量。访问在另一个文件中声明的变量
所以我的问题是,是否有可能访问当前脚本中包含的另一个脚本中定义的变量?
我是NSIS的新手,并开始使用CoolSoft NSIS对话框Designer来为我的安装程序创建自定义页面。我需要根据用户在下拉框中的选择来隐藏/取消隐藏某些文本框。我已将自定义页面包含在我的主脚本脚本文件中,但似乎无法访问我的自定义页面中定义的变量。访问在另一个文件中声明的变量
所以我的问题是,是否有可能访问当前脚本中包含的另一个脚本中定义的变量?
NSIS中所有变量都是全球性的,你应该能够使用任何变量已经宣布后:
foo.nsh:
var myvar
bar.nsi:
!include foo.nsh
...
section
strcpy $myvar "baz"
sectionend
如果您在自定义页面内部声明了变量,您是否将该变量声明为全局变量?该手册规定variables即:
变量定义在一个段或函数中必须使用/ GLOBAL标志。部分和函数外部不需要/ GLOBAL标志。
使用/全球标志声明变量 - 他们将变得可见来自世界各地。
Var /GLOBAL myVariable
如果你想使用不同的脚本文件的符号(不变量),那么你需要使用!包括告诉编译器从该文件中使用的符号。
!include "LogicLib.nsh"
如果你在你的问题中包含编译器错误,这将真的有帮助... – Anders 2013-04-30 15:10:14