1

我试图在 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_Cyber​​ID 变量中,以便以后在不同的文件中使用(我将两者都定义为:)

Var /GLOBAL CC_VCode
Var /GLOBAL CC_CyberID

提前致谢。

4

1 回答 1

2

您在字段名称中缺少空格

!insertmacro MUI_INSTALLOPTIONS_READ $R0 "cc_installopt.ini" "Field 4" "State"
!insertmacro MUI_INSTALLOPTIONS_READ $R1 "cc_installopt.ini" "Field 5" "State"
于 2010-04-11T22:16:36.390 回答