关于回调 学习

tianjin 2013-04-17 01:25:00
我想做个DLL里面有个TTimer空间 有OnTimer 事件

程序调用DLL并且响应DLLOnTimer 事件

有哪位大哥给个例子,谢谢
...全文
246 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianjin 2013-04-17
  • 打赏
  • 举报
回复
谢谢,太谢谢了
feiba7288 2013-04-17
  • 打赏
  • 举报
回复
dll代码如下:
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.

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi Windows SDK/API
社区管理员
  • Windows SDK/API社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧