form:=Tform.Create(nil);
Form := TForm.Create(self);
Application.creatform(Tform,form);
他们所建立的的窗体不同吗?
Form := TForm.Create(self);
Application.creatform(Tform,form);
他们所建立的的窗体不同吗?
解决方案 »
- 用ChangeWindowMessageFilter如何实现文件的拖拽
- 千呼万唤高手来,一个URLDOWNLOADTOFILE的问题!急!
- 关于MDI主窗体菜单封装DLL子窗体功能
- 关于 MDI 窗体 客户区大小的问题
- 如果只是从事数据库开发,有必要学数据结构吗
- 200求助各位,通过马上结分!!!
- 小问题两个,快抢分了!!!!!
- 急,急,急什万火急,总么样在DELPHI的DLL的单元中调用与执行其窗体的各种事件,有源码的给出示例,回答者都有分,我的EM:[email protected]
- 谁有Jeffrey Richter所著《Advanced Windows》一书的电子版,300分索求
- ado有没有象QUery的Updatespending那样判断是否有数据没有提交的属性
- 急!大家来帮一下忙。谢谢啊!! 很简单的一个问题,高分求救!
- 一个巨简单的问题,怎么才可以知道一个Frame中的控件数目?
2,创建一个父类为Self的窗口;
3,创建一个父类为Application的窗口。-----------------------------------------------------------------
我是中国鹰派!
拒绝日货!打倒小日本!
由于Owner是Nil,需要自行释放;Form := TForm.Create(Self);
由于Owner是当前窗体,可以自行释放,当前窗体在退出时也会帮你释放;Application.CreateForm(TForm, Form);
系统创建的窗体,会自动释放。如果是第一个由系统创建的窗体,Form就会被作为整个程序的主窗体。主窗体的关闭意味着整个程序的结束。
该窗口的拥有者为nil,没有任何东西负责Free该窗口
那么你需要手工释放该窗口Form := TForm.Create(self);
该窗口的拥有者(Owner)是self,通常该代码写在项目里,基本上
self 就是application,那么程序结束时,该窗口由Application对象
自动释放,程序员可以不考虑窗口的释放问题。再谈Application.creatform(Tform,form);
如果项目中Application.creatform(Tform,form);是第一次调用
或者说项目还没有主窗口,那么该语句除了创建该窗口外,同时把form设置
为应用程序主窗口,
如果不是第一次调用(或者说应用程序已经有主窗口)那么该句和第2句作用
差不多。无论是哪种情况,Application.creatform(Tform,form);都将form的
拥有者设置为application,也就是说可以不考虑该窗口的释放问题。一般来讲,不建议使用form:=Tform.Create(nil);