1,183
社区成员
发帖
与我相关
我的任务
分享
library DllTimer;
uses
SysUtils,
Classes,
ExtCtrls;
{$R *.res}
var
aTimer: TTimer;
procedure SetDllOnTimer(DllOnTimer: TNotifyEvent);
begin
aTimer.OnTimer := DllOnTimer;
aTimer.Enabled := True;
end;
exports
SetDllOnTimer;
begin
aTimer := TTimer.Create(nil);
aTimer.Interval := 5000;
aTimer.Enabled := False;
end.
主窗口代码如下:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure MyOnTimer(Sender: TObject);
public
{ Public declarations }
end;
var
Form1: TForm1;
procedure SetDllOnTimer(DllOnTimer: TNotifyEvent); external 'DllTimer.dll';
implementation
{$R *.dfm}
procedure TForm1.MyOnTimer(Sender: TObject);
begin
Memo1.Lines.Add('123');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SetDllOnTimer(MyOnTimer);
end;
end.