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