create参数问题(30分)

  • 主题发起人 主题发起人 liuyj
  • 开始时间 开始时间
L

liuyj

Unregistered / Unconfirmed
GUEST, unregistred user!
在程序中动态创建一个窗体,用create方法,
如:
yxfrm:=Tform1.create(owner);
create方法带有参数,参数可以是:self,application等,请问该参数的取值
有几种,它们有什么不同,怎样选择参数?
另:
程序退出后,为什么会在任务条中会留下一个空的任务状态,鼠标点击就会消失,
这个问题出在什么地方?
谢谢!
 
在建立窗体时你用nil就行了。
如果建立其它的控件,比如TEdit,你可以这样做:
var myedit:Tedit;
begin
myedit:=Tedit.Create(nil);
myedit.parent:=form1;
end;

必须指出它的父类.
 
->www
请问其它参数在什么情况下使用呢?
 
我也没能搞清使用nil,self的区别,但我的感觉是用什么都行,只要指定它的父类就行
 
owner是指定这个 类的实例 的所有者. 用于内存管理, 和建立联系用.

程序中当owner所有者被释放时, 被其管辖的类实例也被释放.

Self 是指定引用人本身. appliction , 指定的是应用程序本身.
例:
procedure TformO.Button1Click(sender: Tobject);
var yxfrm:Tform1;
begin
yxfrm:=Tform1.create(self); //Self=form0
end;
 
owner用于指定解除关系。
parent是指定控件的容器。
任务条是事据说是瘟95的问题,目前无法解决。
 
多人接受答案了。
 
后退
顶部