delphi关于自定义事件的使用?解决方案

delphi关于自定义事件的使用??
  myevent = procedure(i:integer) of object;
  myevent = procedure(i:integer);
这两种定义方法,区别的在哪,具体怎么使用啊,能否给个举一个例子??

------解决方案--------------------
准确的说这不叫一个“事件”,这是叫一个事件的处理函数,实际就是一个用作回调的函数指针。


myevent = procedure(i:integer) of object; // 表示这个函数必须是一个类的成员函数

type 
  Myclass = class
  procedure EventProc(i:integer);
end;
procedure Myclass.EventProc(i:integer);
begin
  // 这个函数与此匹配 
end; 
//例如一个Tbutton类的OnClick事件的事件处理函数




myevent = procedure(i:integer); // 则不是任何一个类的成员函数

procedure EventProc(i:integer);
begin
  // 与  procedure(i:integer) 匹配
end;
//例如像API SetTimer中需要的一个回调函数指针


------解决方案--------------------
myevent = procedure(i:integer) of object; // 下面拆开来讲

myevent = // 表示要声明一种类型,类型名叫 myevent
procedure(i:integer) // 接上面,这个名为 myevent的类型是一个函数指针类型
of object // 顾名思义,表示这个函数必须是一个对象(类)的函数