2017-12-05 10 views
0

맨 아래쪽을 클릭하면 입력이 채워지지 않을 때 오류 메시지가 표시되지 않습니다.INSTALLOPTIONS_DISPLAY_RETURN의 반환 값을 얻는 방법은 무엇입니까?

이제 변수 $ R9이 소멸됩니다.

Function SetCustom 

    ;SectionGetFlags ${SEC04} $R0 
    SectionGetFlags ${SEC05} $R5 
    SectionGetFlags ${SEC06} $R6 
    SectionGetFlags ${SEC07} $R7 
    IntOp $R0 $R0 & ${SF_SELECTED} 
    IntOp $R5 $R5 & ${SF_SELECTED} 
    IntOp $R6 $R6 & ${SF_SELECTED} 
    IntOp $R7 $R7 & ${SF_SELECTED} 
    IntCmp $R0 ${SF_SELECTED} show 
    IntCmp $R5 ${SF_SELECTED} show 
    IntCmp $R6 ${SF_SELECTED} show 
    IntCmp $R7 ${SF_SELECTED} show 

    Abort 

    show: 
    Input: 
    !insertmacro MUI_HEADER_TEXT "Customization" "Please input the Info1 and Info2 of the Customization user." 
    !insertmacro MUI_INSTALLOPTIONS_DISPLAY "File.ini" 
    !insertmacro INSTALLOPTIONS_READ $R1 "File.ini" "Field 2" "State" 
    !insertmacro INSTALLOPTIONS_READ $R2 "File.ini" "Field 3" "State" 
    ;!insertmacro INSTALLOPTIONS_SHOW_RETURN 
    !insertmacro INSTALLOPTIONS_DISPLAY_RETURN $R9 

    MessageBox MB_OK "$R9" 
    ${If} "$R9" == "back" 
     Abort 
    ${Else}  
     StrCmp $R1 "" 0 +3 
     MessageBox MB_ICONEXCLAMATION|MB_OK "Please enter a Info1." 
     Goto Input 

     StrCmp $R2 "" 0 +3 
     MessageBox MB_ICONEXCLAMATION|MB_OK "Please enter a Info2" 
     Goto Input 
    ${EndIf} 
FunctionEnd 

답변

0

문서는 Pop하는 방법을 설명합니다 : 당신은 반환 값이 필요한 경우

에서, INSTALLOPTIONS_DISPLAY_RETURN 또는 INSTALLOPTIONS_SHOW_RETURN 매크로를 사용합니다. 반환 값은 스택에 추가되므로 Pop 명령을 사용하여 가져올 수 있습니다.

!insertmacro INSTALLOPTIONS_DISPLAY_RETURN "File.ini" 
Pop $5 
${If} $5 == "back" 
    ... 
${EndIf} 
+0

$ 5 id 변수는 어떻게 결정됩니까? – Muffun

+0

어떤 변수에'Pop'을 사용할 수 있습니다. – Anders