[原创] Delphi Create(Application) 和 Create(nil) 的区别

Delphi Create(Application) 和 Create(nil) 的区别:

例如:

Form1:=TForm1.Create(Application);

Form1:=TForm1.Create(nil);

Create(Application)  :程序创建时会将对象添加到属主对象的组件(TComponent)列表中,当属主对象销毁时首先查看并销毁属主对象的从属对象,即当Application对象释放时会自动释放从属对象。

    这里又要衍生一个概念及应用程序对象即Application对象,是 TApplication类的实例,Delphi应用程序都是封装在Application对象中的,Application对象对应用程序框架进行统一管理。

    Application对象在初始化时会创建一个创库大小为0的隐含窗口,这个是程序的主窗口,其他所有都是这个主窗口的子窗口。

Create(nil) :如果属主对象参数为nil,那么组件需要手工销毁,否则将会造成内存泄露。

来源于:https://www.cnblogs.com/guorongtao/p/12032958.html

猜你喜欢

转载自www.cnblogs.com/guorongtao/p/12032958.html