Tform.Create(nil)和 Tform.Create(application) 有什么区别??

yjbnew 2004-06-15 12:38:59
??
...全文
302 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
山水无言 2004-07-26
  • 打赏
  • 举报
回复
liuqifeiyu(liuqi)你好,我今天也碰到这个问题,当执行到
liu_form:=Tliu_form.Create(NIl);
时出错,错误提示为:
Value assigned to 'liu_form' never used
请问这是为什么?怎么纠正?
xijunwhx 2004-06-28
  • 打赏
  • 举报
回复
区别大家都说了,我说点别的。
在你的application中form比较多form中界面元素比较多的时候尽量避免create
(application),多使用create(nil)养成习惯记得自己创建的东西,
自己释放掉就行了,至于这样做的原因,你看看Win32的消息流窜路径就知道了。
juliens 2004-06-15
  • 打赏
  • 举报
回复
属主对象也就是你创建的对象的Owner属性里指定的!
juliens 2004-06-15
  • 打赏
  • 举报
回复
Tform.Create(nil)表示你创建的Form没有属主对象,你得自己创建自己销毁;
Tform.Create(application)表示你创建的Form的属主对象是Application,不用你手工销毁,其生命期是由Application管理的!
yjbnew 2004-06-15
  • 打赏
  • 举报
回复
up
julong88 2004-06-15
  • 打赏
  • 举报
回复
Tform.Create(nil)表示你创建的Form没有属主对象,你得自己创建自己销毁;
Tform.Create(application)表示你创建的Form的属主对象是Application,不用你手工销毁,其生命期是由owner管理的
括号里的是owner
yjbnew 2004-06-15
  • 打赏
  • 举报
回复
DENG DENG ZAI JIE TIE !
Tensionli 2004-06-15
  • 打赏
  • 举报
回复
study
liuqifeiyu 2004-06-15
  • 打赏
  • 举报
回复
你用Tform.Create(nil) 创建后马上销毁如:
liu_form:=Tliu_form.Create(NIl);
With liu_form do
Try
ShowModal;
Finally
Free;
liu_form:=Nil;
End;
JUSTHELP 2004-06-15
  • 打赏
  • 举报
回复
你可以自己释放
FreeANDNil(yourform);
yjbnew 2004-06-15
  • 打赏
  • 举报
回复
我用 Tform.Create(nil) 没有问题,但用Tform.Create(application) 当程序结束时会报错误!
我现在的问题是:用Tform.Create(nil) 时,当我的程序结束时这个窗口会自动释放空间吗?
hanlin2004 2004-06-15
  • 打赏
  • 举报
回复
说的不错

Tform.Create(nil) 效率高,但是要自己释放空间
Tform.Create(application) 有些额外操作,但是安全,当TAPPLICATION释放的时候会先释放
属于它的所以对象

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧