请教
在程序运行时:如下写:
  
......frmlogin.showmodal();
application.run;
我在application.run时写了让一个form显示,可是为什么当程序运行时另一个form也显示出来了?谢谢!!!

解决方案 »

  1.   

    这样写不行,好像没有见过把模式窗体放在PROJECT里来显示的。
      

  2.   

    program Project2;uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1},
      Unit2 in 'Unit2.pas' {Form2};{$R *.res}begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.CreateForm(TForm2, Form2);
      Form2 := TForm2.Create(Application);
      Form2.ShowModal;
      Application.Run;
    end.
      

  3.   

    楼上的,我就是按照你写的方式编写的代码,可是当程序运行时:Form1也显示出来了,同时显示,Form2和form1的,请教怎么修改才只能显示from2,谢谢!!
    program Project2;uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1},
      Unit2 in 'Unit2.pas' {Form2};{$R *.res}begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.CreateForm(TForm2, Form2);
      Form2 := TForm2.Create(Application);
      Form2.ShowModal;
      Application.Run;
    end.
      

  4.   

    楼主大概把Form1的Visible属性设置成True了,改成False就不会自动“出来”了。还有,你的Form2构造了两次,没必要吧?
      

  5.   

    改成这样:program Project2;uses
      Forms,
      Unit1 in 'Unit1.pas' {Form1},
      Unit2 in 'Unit2.pas' {Form2};{$R *.res}begin
      Application.Initialize;  Form2 := TForm2.Create(nil);
      Form2.ShowModal;
      Form2.Free;  Application.CreateForm(TForm1, Form1);
      Application.Run;
    end.
      

  6.   

    begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.CreateForm(TForm2, Form2);
      Form2 := TForm2.Create(Application);
      Form2.ShowModal;
      Application.Run;
    end./////////////////////
    老大,内存泄漏了!参照楼上的写法