TDataSetScrollProc=procedure(Dataset:TDataSet) of object;什么意思,使用有什么好处?

解决方案 »

  1.   

    这是定义一个函数的结构,以后你就可以这样定义了:
      FDataSetScrollProc:TDataSetScrollProc;然后可以这样调用
      FDataSetScrollProc(nil);其实用的最多的是把消息和事件关联起来,可以参考Delphi中VCL的源码
      

  2.   


    TDataSetScrollProc=procedure(Dataset:TDataSet);//如果像这样,你就定义了一个函数指针类型;TDataSetScrollProc=procedure(Dataset:TDataSet) of object;//如果是这样,你就定义一个事件处理方法指针比如:
    type
      TNotifyEvent = procedure(Sender: TObject) of object;
      TMainForm = class(TForm)
        procedure ButtonClick(Sender: TObject);
        ...
      end;
    var
      MainForm: TMainForm;
      OnClick: TNotifyEventim.....OnClick := MainForm.ButtonClick;
      

  3.   

    TDataSetScrollProc=procedure(Dataset:TDataSet);//如果像这样,你就定义了一个函数指针类型;TDataSetScrollProc=procedure(Dataset:TDataSet) of object;//如果是这样,你定义的是一个成员函数指针类型前者不能用于类成员变量,后者可以