2010-04-11 73 views
1

我试图在NSIS中显示一个页面以获取两个不同的值。我希望两个都不是空的。该页面实际上显示很多我无法让我的页面离开功能正确检查空字段。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 

在此先感谢。

回答

2

您在字段名称缺少空间

!insertmacro MUI_INSTALLOPTIONS_READ $R0 "cc_installopt.ini" "Field 4" "State" 
!insertmacro MUI_INSTALLOPTIONS_READ $R1 "cc_installopt.ini" "Field 5" "State" 
+0

谢谢,这工作! – 2010-04-12 17:24:36