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;
TDataSetScrollProc=procedure(Dataset:TDataSet);//如果像这样,你就定义了一个函数指针类型;TDataSetScrollProc=procedure(Dataset:TDataSet) of object;//如果是这样,你定义的是一个成员函数指针类型前者不能用于类成员变量,后者可以
FDataSetScrollProc:TDataSetScrollProc;然后可以这样调用
FDataSetScrollProc(nil);其实用的最多的是把消息和事件关联起来,可以参考Delphi中VCL的源码
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;