如何将普通函数过程作为对象的方法
在某些时候,我们希望用一个普通的函数或者过程作为某个类、对象的方法,事件等,而直接赋值在Delphi是不可以的,用下面的方法就可以解决了
TMethod的妙用:解决动态创建的组件的事件赋值问题
program Test;
uses
Windows,
SysUtils,
ExtCtrls,
Classes,
Forms;
var
timer1:TTimer;
Method:TMethod;
procedure Timer1Timer(Sender: TObject);
begin
MessageBox(0, 'aa', 'bb', 0);
end;
begin
timer1:=TTimer.Create(nil);
timer1.Interval:=3000;
Method.Data := nil;
Method.Code := @Timer1Timer;
timer1.OnTimer:= TNotifyEvent(Method);
while True do Application.ProcessMessages;
end.