Я пытаюсь создать пользовательскую страницу через nsDialog с переключателями, которые затем влияют на раздел дальше. У меня проблема в том, что значения, кажется, не распространяются за пределы функции CustomPage
, как показано в примере ниже:
Var RADIO_APPLE
Var RADIO_BANANA
Function CustomPage
nsDialogs::Create 1018
${NSD_CreateRadioButton} 0 0 100% 10u "Apple"
Pop $RADIO_APPLE
${NSD_CreateRadioButton} 0 20 100% 10u "Banana"
Pop $RADIO_BANANA
${NSD_Check} $RADIO_APPLE
nsDialogs::Show
${NSD_GetState} $RADIO_APPLE $0
${NSD_GetState} $RADIO_BANANA $1
MessageBox MB_OK "Apple $0 Banana $1"
FunctionEnd
Section "-CustomSection"
${NSD_GetState} $RADIO_APPLE $0
${NSD_GetState} $RADIO_BANANA $1
MessageBox MB_OK "Apple $0 Banana $1"
SectionEnd
Это, очевидно, суть, игнорируя включения и другие страницы, но когда я создаю полную версию этого, я вижу
Apple 1 Banana 0
в окне сообщения, поднятом внутри CustomPage
, но см.
Apple 0 Banana 0
когда раздел запущен.
Я прочитал https://nsis.sourceforge.io/NsDialogs_FAQ#How_to_easily_handle_radiobutton_selections и это решение дает мне тот же результат.
Есть ли что-то, чего мне не хватает, чтобы сделать $RADIO_*
доступным в разделе?
Спасибо