按下form1中的按钮时,
动态建立form2,
并执行form1.hide
希望form2关闭时再次显示form1
于是在其onDestroy中执行form1.show
编译无误,但是form1无法显示
怎么回事呢?
另外,onDestroy和onClose有何异同?
谢谢指教

解决方案 »

  1.   

    1。在Form1的按钮过程中写这样的代码
    Application.CreateForm(TForm2, Form2);
    Form2.Show;
    Form1.Hide;
    2。在Form2的OnClose事件中写代码
    Form1.Show;
    3.OnDestroy发生在Form2被析构的时候,而OnClose发送在Form2接收到WM_CLOSE消息的时候,大多数一般代码应该写在OnClose事件中,释放资源的代码写在OnDestory中
      

  2.   

    谢谢,我写成
    form2:=tform.create(self);
    为什么不对呢?
      

  3.   

    在form1中的按钮
    if not assigned(from2) then
      begin
        form2:=Tfrom2.create(self);
        form2.show;
      end
    else
      form2.show;