begin
  Application.Initialize;
  Application.CreateForm(TForm2, Form2);
  Application.CreateForm(TForm1, Form1);
  
  Application.Run;
end;

解决方案 »

  1.   

    把Application.CreateForm(TForm1, Form1)和Application.CreateForm(TForm2, Form2)换一下位置就行
    或:在菜单上选择project->options->mainform中选form2  
      

  2.   

    或在project->option->将form2提前
      

  3.   

    可这样主窗体就变成Form2了,我的主窗体是Form1呀
      

  4.   

    因为CreateForm(TForm2,Form2)的时间稍有些长,这样如果Form1.show在前,就会先显示出Form1的轮廓,有停顿感,很难看。
      

  5.   

    在project中,在form1、2创建后马上form2.showmodal或show
    例如:
    begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.CreateForm(TForm2, Form2);
      Form2.showmodal;  
      Application.Run;
    end
      

  6.   

    明白你的需求,你是说form1是主窗体,但我还想让form2先显示是吧?
    解决方法如下:
      project->options->把auto-create-forms中的form2加到availabble forms中
    然后在project|view source加入代码如下:
          form2:=Tform2.Create(application);
          form2.show;
          form2.update;
          Application.Initialize;
          Application.CreateForm(TForm1, Form1);
          //form2.hide;//隐藏
          //form2.Free;//释放
          Application.Run;
      调试通过,问题是这样吧?
      

  7.   

    我是意思是,Form1先显示! 但如果执行了Form1.show 再执行CreateForm2(时间稍长)就会使Form1的界面的停顿感,很丑的。您可以试试:)
    我已经找出原因了。如果你建两个窗体,第一个建立的窗体的Visible就会自动变为flase!
    这样就会先执行CreateForm2,再执行Form1.show
    是我多事,把Form1的Visible改为True,结果是先执行Form1.show...
    大家可以试试,是这样吧