一、在要回调的单元加一个回调类

type

TMyCallback =procedure(X, Y: Integer;...其它参数) of object;

二、在单元

TMyClass=class()中加下面的回调过程变量

public
FMyCallback: TMyCallback;

三、在要使用回调的过程、事件、函数中加

procedure TMyClass.click(Sender: TObject);
begin
  //代码1

FMyCallback(x,y,...其它参数);

//代码2
end;

 

四、在调用TMyClass的程序中定义一个过程 

TForm1 = class(TForm)
private

procedure  Newcallback(X, Y: Integer;...其它参数);
public

end;

var

Myclass:TMyClass;

五、实现Newcallback。

六、回调赋值

Myclass.FMyCallback:=@Newcallback;

 

以上就实现了回调。在运行TMyClass.click时运行顺序为:代码1--TForm1.Newcallback-代码2

 

posted on 2024-03-07 20:47  禁卫军  阅读(74)  评论(0编辑  收藏  举报