unit Unit1;var
  Form1: TForm1;
implementation
uses unit2;procedure TForm1.button1click(Sender: TObject);
begin
   form1.Hide;
   form2:=tform2.create(application);
   form2.show;
end;请问以上代码,build时候没错误,run的时候,在 form2:=tform2.create(application); 处出错。
手工建立form的代码不是这样的吗?? 

解决方案 »

  1.   

    procedure TForm1.button1click(Sender: TObject);
    begin
       form2:=tform2.create(application);
       Form1.hide;
       form2.show;
    end;
      

  2.   

    procedure TForm1.button1click(Sender: TObject);
    var form2:TForm2;
    begin
       form1.Hide;
       form2:=tform2.create(application);
       form2.show;
    end;
      

  3.   

    上面代码运行正常,估计FORM2已经是自动建立的窗体,还有FORM1是主窗体,你在关闭FORM2时要将FORM1显示
      

  4.   

    procedure TForm1.button1click(Sender: TObject);
    begin
       form1.Hide;
       try
           form2:=tform2.create(self);
       except   end;
       form2.show;
    end;
      

  5.   

    procedure TForm1.button1click(Sender: TObject);
    begin
       form1.Hide;
       if not Assigned(form2) then
           form2:=tform2.create(self);
       form2.show;
    end;