Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Inno setup Inno设置编译器:根据选择的添加页面选项_Inno Setup - Fatal编程技术网

Inno setup Inno设置编译器:根据选择的添加页面选项

Inno setup Inno设置编译器:根据选择的添加页面选项,inno-setup,Inno Setup,我只想在激活早期页面的选项时显示自定义页面,例如,我有以下代码: [Code] var page_option : TInputOptionWizardPage; page_dir_se : TInputDirWizardPage; procedure InitializeWizard(); begin page_option := CreateInputOptionPage(1,'Select','','',False,True); page_option.Add('

我只想在激活早期页面的选项时显示自定义页面,例如,我有以下代码:

[Code]
var page_option : TInputOptionWizardPage;
    page_dir_se : TInputDirWizardPage;

procedure InitializeWizard();
begin
    page_option := CreateInputOptionPage(1,'Select','','',False,True);
    page_option.Add('Option 1');
    page_option.Add('Option 2');

    page_dir_se :=CreateInputDirPage(page_option.ID,'Select', '','',False, '');
    page_dir_se.Add('Select A');
    page_dir_se.Add('Select B');
    page_dir_se.Add('Select C');

end;
在​​仅当page_option.Values[0]为真时示例page_dir_se应显示给我,如果page_option.Values​​[1] 如果是真的,那么应该给我看另一页

我使用Inno安装编译器

谢谢你的帮助。
关于xD,您可以跳过事件中的任何页面:


没错,代码是有效的,但是如果用户返回到选择选项并取消选中选项1(.values[0]),然后单击“下一步”按钮,代码将不再有效,就好像您没有升级该值一样。这是我在更新后修复的。尝试当前脚本。
[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program

[Code]
var
  DirPage: TInputDirWizardPage;
  OptionPage: TInputOptionWizardPage;

procedure InitializeWizard;
begin
  OptionPage := CreateInputOptionPage(wpWelcome, 'Caption', 'Description',
    'SubCaption', False, True);
  OptionPage.Add('Option 1');
  OptionPage.Add('Option 2');

  DirPage := CreateInputDirPage(OptionPage.ID, 'Caption', 'Description',
    'SubCaption', False, '');
  DirPage.Add('Select A');
  DirPage.Add('Select B');
  DirPage.Add('Select C');
end;

function ShouldSkipPage(PageID: Integer): Boolean;
begin
  // skip the page if your custom dir page is about to show and
  // the option is not checked
  Result := (PageID = DirPage.ID) and not OptionPage.Values[0];
end;