2010-04-11 18 views
1

J'essaie d'afficher une page dans NSIS pour obtenir deux valeurs différentes. Je veux que les deux ne soient pas vides. La page affiche réellement bien que je ne puisse pas obtenir ma fonction de page pour vérifier correctement pour les champs vides.NSIS Check La zone de texte vide ne fonctionne pas

Function CCInstallOpts 
    ReserveFile "cc_installopt.ini" 
    !insertmacro MUI_INSTALLOPTIONS_EXTRACT "cc_installopt.ini" 
    !insertmacro MUI_INSTALLOPTIONS_DISPLAY "cc_installopt.ini"  
FunctionEnd 

Ma fonction de congé page où je valide les champs (4 et 5) est:

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 

Notez que je veux stocker les valeurs entrées dans CC_VCode $ et les variables CC_CyberID $ pour être utilisé plus tard différents fichiers (j'ai défini les deux comme :)

Var /GLOBAL CC_VCode 
Var /GLOBAL CC_CyberID 

Merci d'avance.

Répondre

2

Il vous manque un espace dans le nom du champ

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

Merci, cela a fonctionné.! –