关于Form窗体释放问题。
 我写了一个登录程序;
   form1为登录窗口,Form2为主窗口。
  在验证完信息后,把Form1关闭,把Form2显示出来。
但是我用:  form1.close;form2.show;或form2.show;form1.show后整个全部关掉了。
 我想问一下这是怎么回事?
 还有Form1.close、Form1.release和Form1.free有什么区别?

解决方案 »

  1.   

    Close并不是Free的
    Free一定Close的Release为内部使用,建议不要直接用,还有Destory一样的
      

  2.   

    你是不是在form1中使用了form2.show?begin
    close;
    form2.show;
    end;放在*.dpr里。
      

  3.   

    我也遇到过这种问题,其实也很好解决
    你用
    begin
    form1.Hide;
    form2.showmodal;
    end;
    如果你关闭form1也会连带关闭form2,因为二者是想关联的,你hide了form1也不回占用多少内存的
      

  4.   

    form1为登录窗口,Form2为主窗口这样的话,你在Form2的FormCreate事件里处理好了:procedure TForm2.FormCreate(Sender: TObject);
    begin
      form1:= form1.Create(self);  try
        form1.ShowModal;
      finally
        form1.Free;
      end;end;
    form1的事件处理完了用 Close来关闭就好了
      

  5.   

    huanyi(残荷淡月) 的方法不错