请教概念问题。。。。(100分)

  • 主题发起人 主题发起人 tungco
  • 开始时间 开始时间
T

tungco

Unregistered / Unconfirmed
GUEST, unregistred user!
TNotifyEvent 是这样定义的:
TNotifyEvent=procedure (sender:TObject) of object
请问,这个TNotifyEvent到底是个什么?类?方法?还是其他什么类型?其中的
of object是什么意思?这种定义是object pascal语言的还是delphi的?

 
是object pascal语言的过程类型的一种,of object 表明它必须是一个方法,换句话说
调用这个过程时,在将参数入栈后,先(隐含地)入栈一个对象的32位(Self)指针,
做为参数表的最后一个参数。再调用这个方法的指针,方法过程类型的指针必须是一个长
指针(含段及偏移)。

而普通的过程类型在被调用时就没有这个Self参数。过程指针有长有短,在interface部份
声明过的就是长指针,否则是短指针。
 
谢谢douh。
 
后退
顶部