self application owner sender的联系和区别(50分)

  • 主题发起人 主题发起人 xianghbforborla
  • 开始时间 开始时间
X

xianghbforborla

Unregistered / Unconfirmed
GUEST, unregistred user!
请问哪位朋友能帮解释一下
self application owner sender 的联系和区别
 
self 是自身实例
application 是整个应用
owner 是所有者
parent 是容器
sender 是谁动了我的奶酪

可以这么理解,假如你的户口在湖南,你在天津工作,则 owner是湖南,parent是天津
sender 可以这么理解
procedure test(sender : Tobject);
begin
if sender is Tbutton then ...
if sender is Tlabel then ....
end


调用:
test(button1)---则sender 为button1;
test(label1)---则sender 为label1;
sender指的是谁触发了 这个动作;//功能是可以几个方法调用一个过程,
self 是自身实例(一块内存区域),如在form1:Tform1中 则 self是 form1


 
我也不太懂!能给个教程或源码吗?我想动态创建窗体!譬如用button1。onclick事件!
 
self:一般就可以认为是当前窗体。
Parent:相当于容器,也就是控件只能在容器范围内移动。
Application:即指你当前所编写的软件。
Owner:控件拥有者,如何指明了Owner,那么在Owner释放所占用资源时会捎带将所拥有的控件一块释放掉。
 
比如
在 form1.button1的onclick里面写 这样的语句
var
button:Tbutton;
begin
button:=Tbutton.create(self)
///则form1释放的时候,则button也释放
button:=Tbutton.create(application)
///则form1释放的时候,则button不会释放

end;
 
则form1释放的时候,则button不会释放
他还在内存里吗?
 
我的理解application在最低层
parent其次 然后岛self!
不知道对不对?
 
则form1释放的时候,则button不会释放
他还在内存里吗? 在内存里
 
form1.close
不能释放?
 
ifillbad 我不会再回答你的问题
 
我是菜鸟!请多包涵!
 
好好找本基础书仔细看看吧,这些书上有说 :)

 
后退
顶部