小弟问个问题,我用DELPHI创建了两个Form.Form1用来下载数据库到本地来.下载完成以后,Form2读取我从服务器上下载到本地的数据库。Form2打开的同时。Form1关闭。只显示Form2!Form1未下载完成前。Form2是不运行的,下载完成后打开Form2,并且关闭Form1。。这部分小弟不知道应该如何写。各位大大门。帮忙呀~~给出代码和步骤~~谢死了!
小弟的代码:  
  Mesfrm:=TForm2.Create(application);
  Mesfrm.Show; //打开Form2
虽然打开了Form2,但是我在关闭Form1的时候,整个程序都关闭了。我知道Form1是主窗体。关闭Form1就退出了整个程序~
大家有没有关闭Form1的时候。Form2不关闭的办法?

解决方案 »

  1.   


      Mesfrm:=TForm2.Create(application); 
      try
        form1.hide;
        Mesfrm.ShowModal; //打开Form2 
      finally
        Mesfrm.free;
        form1.show;
      end;
      

  2.   

    我试过了,没问题啊,是不是你的form2的Onshow里的代码报的错啊
      

  3.   

    主窗体另外弄个,不要把form1设置主窗体
      

  4.   

    既然你不会关闭,就不关闭咯。form1不一定要关闭,可以换个思路,hide不就得了。
    思路比开发重要。
      

  5.   

      if Assigned(form2) then
        Action:=caNone;
      

  6.   


    Mesfrm:=TForm2.Create(application); 
    Mesfrm.Show; //打开Form2 
    form1.hide;
      

  7.   

    if not Assigned(form2) then
    begin 
    Mesfrm:=TForm2.Create(application); 
    Mesfrm.Show; //打开Form2 
    form1.hide;
    end
      

  8.   

    看看书吧,FROM有模式和非模式,二者打开不一样。同时,又有主MainFrom,弄清楚了,也就解决了。 
      

  9.   

    Tform1的onclose里写  if Assigned(form2) then 
        Action:=caNone;
      

  10.   

    不要把Form1设置成主窗体就ok了,还有Form2可以设计为模态窗体啊。
      

  11.   

    呵呵,再提供个思路,把FORM1移到桌面以外,如FORM1.left := 99999;
      

  12.   

    Application.CreateForm(form1)
    Application.CreateForm(form2)
      

  13.   

    不要设置Form1为主窗体就OK了
    可以把DataModule作为application的主窗体,这样就没有问题了
      

  14.   

    Form1.Hide 不显示Form1就是了,不需要关闭