核心提示:program Test;usesWindows,SysUtils,ExtCtrls,Classes,Forms;vartimer1:TTimer; Method:TMethod;procedure...
program Test;uses
Windows,
SysUtils,
ExtCtrls,
Classes,
Forms;
var
timer1:TTimer; Method:TMethod;
procedure Timer1Timer(Self, Sender: TObject); // 注意要比类下面的方法多一个Self参数
// 在类中声明是隐含了的, 改为外部声明就必须包含这个4 Bytes的用来传递TMethod.Data的参数
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.