2013-04-30 95 views
0

我是NSIS的新手,并开始使用CoolSoft NSIS对话框Designer来为我的安装程序创建自定义页面。我需要根据用户在下拉框中的选择来隐藏/取消隐藏某些文本框。我已将自定义页面包含在我的主脚本脚本文件中,但似乎无法访问我的自定义页面中定义的变量。访问在另一个文件中声明的变量

所以我的问题是,是否有可能访问当前脚本中包含的另一个脚本中定义的变量?

+0

如果你在你的问题中包含编译器错误,这将真的有帮助... – Anders 2013-04-30 15:10:14

回答

1

NSIS中所有变量都是全球性的,你应该能够使用任何变量已经宣布后:

foo.nsh:

var myvar 

bar.nsi:

!include foo.nsh 
... 
section 
strcpy $myvar "baz" 
sectionend 
1

如果您在自定义页面内部声明了变量,您是否将该变量声明为全局变量?该手册规定variables即:

变量定义在一个段或函数中必须使用/ GLOBAL标志。部分和函数外部不需要/ GLOBAL标志。

1

使用/全球标志声明变量 - 他们将变得可见来自世界各地。

Var /GLOBAL myVariable 

如果你想使用不同的脚本文件的符号(不变量),那么你需要使用!包括告诉编译器从该文件中使用的符号。

!include "LogicLib.nsh"