你说得不是很清楚?可能是你的form1是按一次就创建一个form2

解决方案 »

  1.   

    procedure TForm2.Button1Click(Sender: TObject);
    begin
      Close ;//你应该关闭自己,而不是全局变量Form2.
    end;
      

  2.   

    在你创建的时候
    你声明form2为MdiChild了吗
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      if not assigned(form2)
      form2:=tform2.Create(application);
    end;procedure TForm2.Button1Click(Sender: TObject);
    begin
      form2.Close ;
    end;procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
     action:=cafree;
     form2:=nil;
    end;
      

  4.   

    form2.Close ; 改成close;
      

  5.   

    procedure TForm2.Button1Click(Sender: TObject);
    begin
      form2.Close ;
    end;
    改为:
    procedure TForm2.Button1Click(Sender: TObject);
    begin
      self.Close ;
    end;
      

  6.   

    procedure TForm1.Button1Click(Sender: TObject);
    begin
      if not assigned(form2)
      form2:=tform2.Create(application);
    end;