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_CyberID 変数に保存して、後で別のファイルで使用することに注意してください (両方を次のように定義しました)。
Var /GLOBAL CC_VCode
Var /GLOBAL CC_CyberID
前もって感謝します。