1

NSIS でページを表示して、2 つの異なる値を取得しようとしています。両方とも空にしないでください。ページは実際には表示されますが、空のフィールドを適切にチェックするためにページを残す機能を取得できません。

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 に答える