【发布时间】:2020-05-13 15:59:01
【问题描述】:
我正在尝试通过 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_* 在该部分中可用的内容?
谢谢
【问题讨论】: