在不使用全局变量的情况下从自定义Inno Setup向导页面读取值

尼尔斯·吉勒敏

在此用于创建自定义的支持页面上CreateInputOptionPage,他们建议仅通过将其分配给变量来存储页面的值。目前尚不清楚何时应执行此任务。”

据我所知,如果在创建页面时分配此权限,则将获得默认值。这很有意义,因为在创建页面时,用户尚未输入任何“输入查询”。

因此,我有理由在单击“下一步”按钮时使用以下方法将页面中的值分配给变量: function NextButtonClick(CurPageID: Integer): Boolean;

为此,我需要Page.Values[0]NextButtonClick函数中访问页面的变量(由于Page是在其他函数中定义的,因此访问这些值以Page使其成为全局变量的唯一方法是吗?这就是我决心要做的,但是我想知道是否有人可以替代全局变量。

到目前为止,我的代码存根。

[Code]

var
  Page: TInputOptionWizardPage;
  InstallationTypeIsClient: boolean;

procedure InitializeWizard();
begin
  Page := CreateInputOptionPage(wpWelcome,'Installation Type', 'Select Installation Type', 'No really, do some selecting', True, False)
  Page.Add('Server Install');
  Page.Add('Client Install');
  Page.Values[1] := True;
end;

function NextButtonClick(CurPageID: Integer): Boolean;
begin
  if CurPageID=100 then
  begin
    InstallationTypeIsClient := Page.Values[1];
    MsgBox('InstallationTypeIsClient value is ' + Format('%d', [InstallationTypeIsClient]), mbInformation, MB_OK);
  end;
  Result := True;
end;
马丁·普里克里(Martin Prikryl)

使用全局变量存储对自定义页面的引用是正确和最简单的方法。

相关问题:Inno设置:从另一个控件的OnClick事件访问自定义控件

尽管是否确实需要将用户值存储到另一个变量中值得怀疑。只需在需要时从自定义页面中读取值即可。

总体上,使用全局变量确实不受欢迎。但这就是在开发独立代码时。在这种情况下,您只是为现有应用程序实现事件挂钩,因此您别无选择。


唯一的其他方法是在的子控件中递归查找自定义页面WizardForm它的代码很多而且效率很低。

请参阅我对Inno Setup:OnHover事件的回答,以获取递归组件迭代的示例。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Inno Setup的自定义页面向导

来自分类Dev

Inno Setup的自定义页面向导

来自分类Dev

Inno Setup禁用安装向导页面

来自分类Dev

Inno Setup“安装完成”向导页面

来自分类Dev

Inno Setup“安装完成”向导页面

来自分类Dev

Inno Setup禁用安装向导页面

来自分类Dev

如何在不指定页面变量的情况下覆盖自定义按钮的事件

来自分类Dev

有条件地跳到Inno Setup安装向导末尾的自定义页面而不安装吗?

来自分类Dev

在Inno Setup中跳过准备安装向导页面

来自分类Dev

用户输入后 Inno Setup 向导更改页面

来自分类Dev

自定义内核不读取全局变量和char *

来自分类Dev

使用Google Map的Inno Setup自定义页面

来自分类Dev

递归函数,在不使用全局变量的情况下维护全局计数器

来自分类Dev

在不使用全局变量的情况下使用Django信号设置变量

来自分类Dev

在没有页面引用的情况下重置自定义JavaScript下拉列表

来自分类Dev

如何在没有提示的情况下正确关闭Inno Setup向导?

来自分类Dev

在Inno Setup中如何在不使用批处理文件的情况下执行命令行工具

来自分类Dev

如何在不使用帮助器的情况下访问Meteor模板中的全局变量?

来自分类Dev

如何在不使用全局变量的情况下从回调中获取数据?

来自分类Dev

如何在不使用全局变量的情况下构建该程序?

来自分类Dev

如何在不使用全局变量的情况下从函数中添加2个列表?

来自分类Dev

在不使用全局变量的情况下保存函数的数据

来自分类Dev

在不使用全局变量的情况下对python列表执行操作

来自分类Dev

如何将DLL中的表单嵌入到Inno Setup向导页面中?

来自分类Dev

Inno Setup删除/隐藏(而不只是禁用)向导页面上的“后退”按钮

来自分类Dev

Inno Setup安装程序向导的“完成/完成”页面左侧的高图像控件的名称是什么?

来自分类Dev

在不使用 next() 方法的情况下从 ResultSet 获取值

来自分类Dev

Inno Setup:“就绪页面”自定义布局

来自分类Dev

Inno Setup:自定义页面选择更新或删除/卸载

Related 相关文章

  1. 1

    Inno Setup的自定义页面向导

  2. 2

    Inno Setup的自定义页面向导

  3. 3

    Inno Setup禁用安装向导页面

  4. 4

    Inno Setup“安装完成”向导页面

  5. 5

    Inno Setup“安装完成”向导页面

  6. 6

    Inno Setup禁用安装向导页面

  7. 7

    如何在不指定页面变量的情况下覆盖自定义按钮的事件

  8. 8

    有条件地跳到Inno Setup安装向导末尾的自定义页面而不安装吗?

  9. 9

    在Inno Setup中跳过准备安装向导页面

  10. 10

    用户输入后 Inno Setup 向导更改页面

  11. 11

    自定义内核不读取全局变量和char *

  12. 12

    使用Google Map的Inno Setup自定义页面

  13. 13

    递归函数,在不使用全局变量的情况下维护全局计数器

  14. 14

    在不使用全局变量的情况下使用Django信号设置变量

  15. 15

    在没有页面引用的情况下重置自定义JavaScript下拉列表

  16. 16

    如何在没有提示的情况下正确关闭Inno Setup向导?

  17. 17

    在Inno Setup中如何在不使用批处理文件的情况下执行命令行工具

  18. 18

    如何在不使用帮助器的情况下访问Meteor模板中的全局变量?

  19. 19

    如何在不使用全局变量的情况下从回调中获取数据?

  20. 20

    如何在不使用全局变量的情况下构建该程序?

  21. 21

    如何在不使用全局变量的情况下从函数中添加2个列表?

  22. 22

    在不使用全局变量的情况下保存函数的数据

  23. 23

    在不使用全局变量的情况下对python列表执行操作

  24. 24

    如何将DLL中的表单嵌入到Inno Setup向导页面中?

  25. 25

    Inno Setup删除/隐藏(而不只是禁用)向导页面上的“后退”按钮

  26. 26

    Inno Setup安装程序向导的“完成/完成”页面左侧的高图像控件的名称是什么?

  27. 27

    在不使用 next() 方法的情况下从 ResultSet 获取值

  28. 28

    Inno Setup:“就绪页面”自定义布局

  29. 29

    Inno Setup:自定义页面选择更新或删除/卸载

热门标签

归档