procedure TForm1.Button4Click(Sender: TObject);
begin
  application.CreateForm(tform1,form1);
  form1.Showmodal;
  form1.Free;
end;我点了10次,显示了10个同样的窗体,但是在关闭的时候会出错.关闭窗体的时候没写代码.如何实现显示多个相同的窗体???

解决方案 »

  1.   

    不能在自身创建并销毁窗口。
    procedure   TForm1.Button4Click(Sender:   TObject);
    begin
        application.CreateForm(tform1,form1);
        form1.Showmodal;
        form1.Free;//Free之后,程序并未跳出 Button4Click 代码,此时将引发地址访问出错。
    end; 可以在主程序或者其他窗体创建Form1。
      

  2.   

    象上面说的,把代码放到主窗体去.你的错误是原先的窗体是from1,你又创建form1,那你到底关闭的是什么呢
      

  3.   


    procedure TForm1.Button4Click(Sender: TObject); 
    var
      Frm2: TForm1;
    begin 
      application.CreateForm(tform1,Frm2); 
      Frm2.Show; 
      Frm2.Free;//Free之后,程序并未跳出   Button4Click   代码,此时将引发地址访问出错。 
    end; 
    这样可以显示窗体。
      

  4.   

    楼上所说,Form变量定义成局部变量!动态生成
      

  5.   


    with self.create(application) do
    begin
      show;
      free;
    end;