Delphi控件(非页面)有没有this引用?(低级问题)(50分)

  • 主题发起人 主题发起人 aWant
  • 开始时间 开始时间
A

aWant

Unregistered / Unconfirmed
GUEST, unregistred user!
不好意思,纯属低级问题!
VC/BCB/VFP等语言都有this关键词直接引用控件本身,
但delphi的是什么关键词呢?
 
就是self ,同VC等的this是一样的。
 
你要注意的是控件的类型,比如你的类是一个TForm类,那你引用Self时就要这样:
( self as TForm ).some 或 ( TForm(self).some ).
 
inherited 和 self 是 pascal 的关键子
 
刚才答完了以后,觉得不对,可是我这儿停电,到现再才来修正。
我试了一下,self 是可以直接引用的,不用加 as 之类的修饰。
我以前都是那样用的,看来我要改正。sorry.
 
非常感谢各位!
我的意思是指非TForm对象, 例如TButton对象,
在其事件中有参数Sender可引用, 但在对多个控件
执行相同过程(函数)时总觉得不如This方便.
不知Self能否引用非TForm控件本身?
先谢啦!
 
当然可以。
xxx:Tmmm;
procedure xxx.yyy();
begin
self.zzzz;
end;

执行的是Tmmm.zzzz;
 
你可以在其事件中用
(Sender as TButton).Caption
 
多人接受答案了。
 
后退
顶部