Inno Setup 自定义向导页面 ("installation checklist") 在运行时更改文本

Inno Setup custom wizard pages ("installation checklist") change text at runtime

我制作了一个自定义向导页面,我希望它在安装结束时显示一种安装清单,显示安装成功与否。

类似于

Crucial Step......................SUCCESS
Optional Step.....................FAILURE

所以我的 initializeWizard()

中有这段代码
Page := CreateCustomPage(wpInstalling, 'Installation Checklist', 'Status of all installation components');

RichEditViewer := TRichEditViewer.Create(Page);
RichEditViewer.Width := Page.SurfaceWidth;
RichEditViewer.Height := Page.SurfaceHeight;
RichEditViewer.Parent := Page.Surface;
RichEditViewer.ScrollBars := ssVertical;
RichEditViewer.UseRichEdit := True;
RichEditViewer.RTFText := ''// I want this attribute to be set in CurStepChanged()

有没有办法在以后的某个时间点添加或编辑 RichEditViewer.RTFTextPage 是一个全局变量,但尝试访问任何属性都会给我一个错误。我想在 wpInstalling 之后编辑文本,这样我就可以判断安装步骤是否成功。

我不是这种方法的超级粉丝,但您可以将 RichEditViewer 设置为全局的,然后在任何函数中的任何时候编辑它,这很简单。

var
  RichEditViewer: TRichEditViewer;

procedure InitializeWizard();
var
  Page: TWizardPage;
begin
  Page := CreateCustomPage(wpInstalling, 'Installation Checklist', '');

  RichEditViewer := TRichEditViewer.Create(Page);
  RichEditViewer.Width := Page.SurfaceWidth;
  RichEditViewer.Height := Page.SurfaceHeight;
  RichEditViewer.Parent := Page.Surface;
  RichEditViewer.ScrollBars := ssVertical;
  RichEditViewer.UseRichEdit := True;
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep=ssPostInstall then RichEditViewer.RTFText := 'STUFF';
end;

值得注意的是,页面本身甚至不需要是全局的。