TKeyEvent = procedure(Sender: TObject; var Key: Word;
    Shift: TShiftState) of object;
后面的of object是什么意思?????

解决方案 »

  1.   

    这是个事件!!
    object是个基类
      

  2.   

    TKeyEvent = procedure(Sender: TObject; var Key: Word;
        Shift: TShiftState) of object;of object修饰表明TKeyEvent 是一个“类”中的过程类型(隐含传递self指针)如:
    type
      TMyClass = class (object)
      public:
        FMyProc  : TKeyEvent;
       
        procedure MyProc1(Sender: TObject; var Key: Word;
             Shift: TShiftState);  
        procedure MyProc2(Sender: TObject; var Key: Word;
             Shift: TShiftState);   
      end;///////
      if (bBool) then
        MyClass.FMyProc=MyProc1
      else
        MyClass.FMyProc=MyProc2;
     
      MyClass.FMyProc(xx,xx,xx);