procedure TForm16.ShowForm;  //要uses cxPC
var
  tb:TcxTabSheet;
begin
  tb:=TcxTabSheet.Create(Self);
  tb.PageControl:=form1.cxPageControl1;
  Application.CreateForm(TForm16,Form16);//首先创建窗体时引发很多事件,所以我是想让它自动创建,以增快速度.
                                          但是这里如果不加这一句的话,关闭窗体时会弹错误提示(机理不明)
                                          所以想请教各位,能不能只创建窗体,而不引发创建窗体时所引发的一系列
                                          事件
  Form16.BorderIcons:=[];
  Form16.BorderStyle:=bsNone;
  Form16.Align:=alClient;
  Form16.Parent:=tb;
  tb.Caption:=Form16.Caption;
  form1.cxPageControl1.ActivePageIndex:=form1.cxPageControl1.TabCount-1;
  Form16.Show;
  Form16:=nil;
end;

解决方案 »

  1.   

    搞不清你这是要干嘛,Form16中再去创建Form16,你的事件是OnShow事件,所以你创建后,先把
    Form16.OnShow := nil,这样就不会触发OnShow事件了
      

  2.   

    試試:
    create後再form.show:=nil;
      

  3.   

    换个方法处理:
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs;type
      TForm1 = class(TForm)
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;procedure ShowForm;implementationprocedure ShowForm;
    begin
      Form1 := TForm1.Create(Application);
      Form1.ShowModal;
      Form1.Free;
    end;{$R *.dfm}end.