delphi的TComponent中定义FOwner: TComponent;
答案:2 悬赏:0 手机版
解决时间 2021-04-29 07:55
- 提问者网友:骨子里的高雅
- 2021-04-28 16:50
delphi的TComponent中定义FOwner: TComponent;
最佳答案
- 五星知识达人网友:梦中风几里
- 2021-04-28 17:27
TComponet中的FOwner是用于在组件创建时指定“属主”用的,属主的作用是在于当属主Free的时候自动Free掉其下的所有组件。例:
var
lbl: TLabel;//此处TLabel继承自TComponent
begin
lbl ;= TLabel.Create(Form1);
...
lbl.Free;//通常我们会加上这句,但这里加上就错了
//Delphi会在Form1销毁的时候自动将lbl销
//毁掉
end;
这里TLabel就相当于TComponent,而Form1是TForm类的对象,TForm也是继承自TComponent,既然是这样实现,那在类的定义里楼主所说的情况应该不难理解了吧~~
ICompare = interface //声明一个接口ICompare
['{DDFE0840-E8FB-11D2-9085-0040F6741DE2}'] //全局唯一的ID,用于识别不同的接口
function CompareWith(ACompare: ICompare; ASortBy: Integer): Integer; //此接口所拥有的“动作”,接口本身不实现,由实现接口的类实现此“动作”
var
lbl: TLabel;//此处TLabel继承自TComponent
begin
lbl ;= TLabel.Create(Form1);
...
lbl.Free;//通常我们会加上这句,但这里加上就错了
//Delphi会在Form1销毁的时候自动将lbl销
//毁掉
end;
这里TLabel就相当于TComponent,而Form1是TForm类的对象,TForm也是继承自TComponent,既然是这样实现,那在类的定义里楼主所说的情况应该不难理解了吧~~
ICompare = interface //声明一个接口ICompare
['{DDFE0840-E8FB-11D2-9085-0040F6741DE2}'] //全局唯一的ID,用于识别不同的接口
function CompareWith(ACompare: ICompare; ASortBy: Integer): Integer; //此接口所拥有的“动作”,接口本身不实现,由实现接口的类实现此“动作”
全部回答
- 1楼网友:走死在岁月里
- 2021-04-28 18:15
TComponent类的FOwner: TComponent;是说FOwner是这个类的对象,是为组件中插入的组件作准备用的(可能是这样,呵呵)
ICompare接口中的ACompare: ICompare;可能是同一类中的对象作比较用的,面向对象的东西嘛——我也不是很明白,呵呵
ICompare接口中的ACompare: ICompare;可能是同一类中的对象作比较用的,面向对象的东西嘛——我也不是很明白,呵呵
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯