Delphi 德尔菲公司;JVCL-JvWizard,运行时添加页面

Delphi 德尔菲公司;JVCL-JvWizard,运行时添加页面,delphi,jvcl,Delphi,Jvcl,我需要在运行时向TJvWizard添加一个页面(该页面可能由插件注册)。我试着将它添加到JvWizard.Pages中,但这似乎不是一种有效的方法-我需要将页面作为倒数第二个页面插入 我试过密码 AddWizardPage(APage: TJvWizardCustomPage); begin if APage <> nil then begin Apage.Wizard:=JvWizard1; JvWizard1.Pages.Insert(JvWizard1.Pa

我需要在运行时向TJvWizard添加一个页面(该页面可能由插件注册)。我试着将它添加到JvWizard.Pages中,但这似乎不是一种有效的方法-我需要将页面作为倒数第二个页面插入

我试过密码

AddWizardPage(APage: TJvWizardCustomPage);
begin
if APage <> nil then
  begin
    Apage.Wizard:=JvWizard1;
    JvWizard1.Pages.Insert(JvWizard1.Pages.Count - 1 , APage);
    JvWizardRouteMapNodes1.Invalidate;
  end;
end;
AddWizardPage(页面:TJvWizardCustomPage);
开始
如果是零,那么
开始
Apage.Wizard:=JvWizard1;
JvWizard1.Pages.Insert(JvWizard1.Pages.Count-1,APage);
jvWizardRouteMapNode1.无效;
结束;
结束;
但它被添加为RouteMap上的最后一页,并在启动时显示为第一页


提前谢谢

而不是调用Page.Insert。您必须将Page.Wizard属性设置为向导组件。这将设置父级并插入页面

procedure TForm1.FormCreate(Sender: TObject);
var
  Page: TJvWizardCustomPage;
begin
  Page := TJvWizardWelcomePage.Create(Self);
  Page.Wizard := JvWizard1;

  JvWizard1.ActivePage := Page;
end;