窗体创建的问题,f:=TForm2.create(self);f:=TForm2.create(nil);f:=TForm2.create(Application);这三种方法创建的窗体有什么不同?关闭窗件释放内存时分别要用什么语句?

解决方案 »

  1.   

    VCL的老问题。Create方法的参数是Owner,就是窗体是由谁负责释放内存的。如果是Self或者nil,你必须自己手工Free窗体。如果是Application,那么程序退出的时候会自动Free的。释放窗体使用 f.Free;
      

  2.   

    如果是self,就有self卸载时释放创建的窗体。
    当然以上窗体都可以手工用free释放
      

  3.   

    我一般都用nil,自己创建,自己释放!
      

  4.   

    Self或者nil必须自己手工Free窗体。Application自动Free