Inno setup 如果在Inno设置中未选择任何组件,如何禁用“下一步”按钮?

Inno setup 如果在Inno设置中未选择任何组件,如何禁用“下一步”按钮?,inno-setup,pascalscript,Inno Setup,Pascalscript,我有三个组件,如果用户选择任何组件,它将进行安装。现在,如果用户没有选择任何组件,我想禁用“下一步”按钮 我正在尝试如果没有选择组件('xxx'),但它不起作用。有谁能帮我一下吗?没有简单的方法可以更新组件选择更改时的“下一步”按钮状态 更简单的方法是在单击“下一步”按钮时显示消息: 函数NextButtonClick(CurPageID:Integer):布尔; 开始 结果:=真; 如果CurPageID=wpSelectComponents,则 开始 如果WizardSelectedComp

我有三个组件,如果用户选择任何组件,它将进行安装。现在,如果用户没有选择任何组件,我想禁用“下一步”按钮


我正在尝试
如果没有选择组件('xxx')
,但它不起作用。有谁能帮我一下吗?

没有简单的方法可以更新组件选择更改时的“下一步”按钮状态

更简单的方法是在单击“下一步”按钮时显示消息:

函数NextButtonClick(CurPageID:Integer):布尔;
开始
结果:=真;
如果CurPageID=wpSelectComponents,则
开始
如果WizardSelectedComponents(False)='',则
开始
MsgBox(“未选择任何组件”,MB信息,MB_OK);
结果:=假;
结束;
结束;
结束;

如果您坚持禁用“下一步”按钮,请使用以下命令:

var
类型mboonchangeprov:TNotifyEvent;
程序组件列表检查更改;
开始
WizardForm.NextButton.Enabled:=(WizardSelectedComponents(False)');
结束;
程序组件列表点击检查(发送方:ToObject);
开始
组件检查更改;
结束;
程序类型mboonchange(发送方:TObject);
开始
{首先让Inno安装程序更新组件选择}
类型mboonchangeprov(发送方);
{然后检查更改}
组件检查更改;
结束;
过程初始化Wizard();
开始
WizardForm.ComponentList.OnClickCheck:=@ComponentsListClickCheck;
{Inno安装程序本身依赖于WizardForm.TypesCombo.OnChange,}
{所以我们必须保留它的处理程序。}
typescomboonchangeprov:=WizardForm.TypesCombo.OnChange;
WizardForm.TypesCombo.OnChange:=@TypesComboOnChange;
结束;
过程CurPageChanged(CurPageID:Integer);
开始
如果CurPageID=wpSelectComponents,则
开始
组件检查更改;
结束;
结束;

要了解为什么您需要这么多代码来完成这么小的任务,请参见

@Martin Prikryl您能帮我吗?有人能给我建议一些其他方法吗?您不能使用@通知尚未参与的用户。好的。抱歉。非常感谢您的代码。它可以工作。+无需道歉。我的意思是它不起作用,不是说它不被允许。