问题描述
我想知道我是否可以通过TInputQueryWizardPage
、TInputoptionWizardPage
、TInputDirWizardPage
、TInputFileWizardPage
、TOutputMsgWizardPage
、TOutputMsgMemoWizardPage
、{{1} } 页面到一个函数作为一个参数?
我需要这样做的原因是,根据情况,我必须将这些页面之一传递给内部包含 TOutputProgressWizardPage
语句的函数,该语句决定必须对特定页面进行哪些更改,而我不这样做' t想传递7个参数。
这是一个例子:
case
所以,正如你所看到的,我需要为不同类型的页面更改不同的内容,但我不想传递这么多参数。
解决方法
如果您希望该功能在这些页面中的任何一个上运行,则必须仅使用它们的通用 API/功能。它们的通用 API/功能是它们的基类 TWizardPage
:
procedure DoSomethingWithAnyCustomPage(WizardPage: TWizardPage);
begin
// ...
end;
如果很多情况下,您还可以通过使用相同/共享的页面事件实现来实现通用功能。