有三个窗体Form1,Form2和Form3,基中Form1为主窗体,在Form1中代码为:
uses unit2;
……
procedure TForm1.FormCreate(Sender: TObject);
var
form2:Tform;
begin
form2:=Tform2.Create(self);
form2.ShowModal;
form2.Free;
end;在Form2中代码为:
implementation
uses unit3;
{$R *.dfm}procedure TForm2.Button1Click(Sender: TObject);
var
form3:Tform;
begin
form3:=tform3.Create(self);
form3.Show;
hide;
end;在Form3中代码为:
implementation
 uses unit2;
{$R *.dfm}procedure TForm3.Button1Click(Sender: TObject);
begin
form2.show;
close;
end;
我要在按下Form2窗体上的Button1时显示Form3,同时隐藏Form2窗体,按下Form3上的
Button1时关闭Form3,同时显示Form2.
但我在按下Form3上的Button1时却出错,各位网友可以和我说说错在何处吗?
该怎么样才能让Form2窗体显示出来呢?

解决方案 »

  1.   

    ……
    procedure TForm1.FormCreate(Sender: TObject);
    var
    form2:Tform;
    begin
    form2:=Tform2.Create(self);
    form2.ShowModal;
    form2.Free;
    end;
    将form2.Free;去掉
      

  2.   

    showmodal窗口里调用窗口必须是showmodal
      

  3.   

    procedure TForm1.FormCreate(Sender: TObject);
    var                                           
    form2:Tform;   ////////此form2不是彼form2   ,将这个局部变量去掉就好了
    begin
    form2:=Tform2.Create(self);
    form2.ShowModal;
    form2.Free;
    end;在Form2中代码为://////////此form2不是彼form2implementation
    uses unit3;
    {$R *.dfm}procedure TForm2.Button1Click(Sender: TObject);
    var
    form3:Tform;
    begin
    form3:=tform3.Create(self);
    form3.Show;
    hide;
    end;在Form3中代码为:
    implementation
     uses unit2;
    {$R *.dfm}procedure TForm3.Button1Click(Sender: TObject);
    begin
    form2.show;
    close;
    end;
      

  4.   

    procedure TForm1.FormCreate(Sender: TObject);
    var                                           
    form2:Tform;   ////////此form2不是彼form2   ,将这个局部变量去掉就好了
    begin
    form2:=Tform2.Create(self);
    form2.ShowModal;
    form2.Free;
    end;在Form2中代码为
    implementation
    uses unit3;
    {$R *.dfm}procedure TForm2.Button1Click(Sender: TObject);
    var
    form3:Tform;
    begin
    form3:=tform3.Create(self);
    form3.Show;
    hide;
    end;在Form3中代码为:
    implementation
     uses unit2;
    {$R *.dfm}procedure TForm3.Button1Click(Sender: TObject);
    begin
    form2.show;          //////////此form2不是彼form2
    close;
    end;