我正在尝试在NSIS中显示一个页面以获取两个不同的值。我希望两者都不是空的。页面实际显示尽管我无法获取页面离开功能来正确检查空白字段。
Function CCInstallOpts
ReserveFile "cc_installopt.ini"
!insertmacro MUI_INSTALLOPTIONS_EXTRACT "cc_installopt.ini"
!insertmacro MUI_INSTALLOPTIONS_DISPLAY "cc_installopt.ini"
FunctionEnd
我的页面离开功能我验证字段(4和5)是:
Function CCInstallOptsLeave
Push $R0
Push $R1
!insertmacro MUI_INSTALLOPTIONS_READ $R0 "cc_installopt.ini" "Field4" "State"
!insertmacro MUI_INSTALLOPTIONS_READ $R1 "cc_installopt.ini" "Field5" "State"
StrCmp $R0 "" mustcomplete
StrCmp $R1 "" mustcomplete
StrCpy $CC_CyberID $R0
StrCpy $CC_VCode $R1
goto exitfunc
mustcomplete:
MessageBox MB_OK|MB_ICONEXCLAMATION "Empty not allowed"
Abort
exitfunc:
Pop $R1
Pop $R0
FunctionEnd
请注意,我想将输入的值存储到$ CC_VCode和$ CC_CyberID变量中,以便稍后在不同的文件上使用(我将它们定义为:)
Var /GLOBAL CC_VCode
Var /GLOBAL CC_CyberID
提前致谢。
答案 0 :(得分:2)
您在字段名称中缺少空格
!insertmacro MUI_INSTALLOPTIONS_READ $R0 "cc_installopt.ini" "Field 4" "State"
!insertmacro MUI_INSTALLOPTIONS_READ $R1 "cc_installopt.ini" "Field 5" "State"