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

宝剑锋从磨砺出,梅花香自苦寒来。这篇文章主要讲述[原创] Delphi Create(Application) 和 Create(nil) 的区别相关的知识,希望能为你提供帮助。
Delphi Create(Application) 和 Create(nil) 的区别:
例如:
Form1:=TForm1.Create(Application);
Form1:=TForm1.Create(nil);
 
Create(Application)  :程序创建时会将对象添加到属主对象的组件(TComponent)列表中,当属主对象销毁时首先查看并销毁属主对象的从属对象,即当Application对象释放时会自动释放从属对象。
【[原创] Delphi Create(Application) 和 Create(nil) 的区别】这里又要衍生一个概念及应用程序对象即Application对象,是 TApplication类的实例,Delphi应用程序都是封装在Application对象中的,Application对象对应用程序框架进行统一管理。
Application对象在初始化时会创建一个创库大小为0的隐含窗口,这个是程序的主窗口,其他所有都是这个主窗口的子窗口。
Create(nil) :如果属主对象参数为nil,那么组件需要手工销毁,否则将会造成内存泄露。
 
来源于:https://www.cnblogs.com/guorongtao/p/12032958.html

    推荐阅读