我是 NSIS 的新手,开始使用 CoolSoft NSIS 对话框设计器为我的安装程序创建自定义页面。我需要根据用户从下拉框中的选择来隐藏/取消隐藏一些文本框。我已将自定义页面包含在我的主 nsis 脚本文件中,但似乎我无法访问自定义页面中定义的变量。
所以我的问题是是否可以访问当前脚本中包含的另一个脚本中定义的变量?
我是 NSIS 的新手,开始使用 CoolSoft NSIS 对话框设计器为我的安装程序创建自定义页面。我需要根据用户从下拉框中的选择来隐藏/取消隐藏一些文本框。我已将自定义页面包含在我的主 nsis 脚本文件中,但似乎我无法访问自定义页面中定义的变量。
所以我的问题是是否可以访问当前脚本中包含的另一个脚本中定义的变量?
使用/GLOBAL标志来声明变量 - 它们将在任何地方变得可见。
Var /GLOBAL myVariable
如果您想使用来自不同脚本文件的符号(而不是变量),那么您需要使用!include告诉编译器使用该文件中的符号。
!include "LogicLib.nsh"
如果您在自定义页面内声明变量,您是否将变量声明为全局变量?该手册规定了以下变量:
在节或函数中定义的变量必须使用 /GLOBAL 标志。在节和函数之外不需要 /GLOBAL 标志。
NSIS 中的所有变量都是全局变量,您应该能够在声明后使用任何变量:
foo.nsh:
var myvar
酒吧.nsi:
!include foo.nsh
...
section
strcpy $myvar "baz"
sectionend