Free pascal assign procedure as TNotifyEvent
http://forum.lazarus.freepascal.org/index.php?topic=31306.0 procedure DoSomeThing ( aself , Sender : TObject ) ; begin writeln ( 'Hello' ) ; end ; function MakeMethod ( Data , Code : Pointer ) : TMethod ; begin Result . Data : = Data ; Result . Code : = Code ; end ; xxxx.xevent = TNotifyEvent( MakeMethod(timer, @dosomething));