myform:=tform.Create(nil)与myform.parent:=nil;是否作用相同,选用任意一种都可以吗?(50分)

  • 主题发起人 主题发起人 halen
  • 开始时间 开始时间
H

halen

Unregistered / Unconfirmed
GUEST, unregistred user!
myform:=tform.Create(nil)与myform.parent:=nil;是否作用相同?
用时若两句都写是否重复?
 
为什么没人理我,是被难倒了还是不屑与回答?
 
当然不相同,一个是容器,一个是指明其父的。
 
myform:=tform.Create(nil)与myform.parent:=nil;根本不相关!
 
即拥有关系和父子关系。找本有关的书看吧,说得比较清楚。
 
一个指OWNER,一个指PARENT,意义不一样,但在这里用法应该差不多
 
myform:=tform.Create(nil)是创建一个实体

myform.parent:=nil 是给myform实赋一个属性
(与myform.left:=12一个类型)

两者没有可比性
 
TForm里的constructor Create(AOwner: TComponent);(没有写错吧)
AOwner是指TForm类所创建的对象的AOwner该指向谁。当然它的主要功能是创建一个对象。

而设置parent是为了有人为它善后。
 
两回事吗!
 
myform:=tform.Create(nil): 与 myform:=tform.Create(Application):呢?
《DELPHI 5 开发人员指南》翻译得 XXX ,许多语句令人读不能,看不明。
如:“向构造器 Create() 传递 nil 造成无法在 FORM1 实例变量被覆盖后,无法再引用这个
窗体的实例指针。”
大家能理解吗? 哎 国内的译文,我总要花许多时间去猜译者真正想说什么。
 
owner是指这个对象将负责本子对象的资源管理,如释放等
parent是指这个对象是子对象的父类,只是在表象上,如设panel为父类,那么这个子
对象就是嵌在panel上
 
多人接受答案了。
 
后退
顶部