社区
Windows SDK/API
帖子详情
能不能让一个对象方法作回调函数?
zqc-tutorial
2003-12-02 04:13:42
通常好象都是这样做的:
function EnumWindowsProc(hWnd: HWnd; lParam: Integer): Boolean; stdcall;
begin
...
end;
...
EnumWindows(@EnumWindowsProc, 0);
现在如果上面那个回调函数是一个对象方法,程序运行就会有问题。
但是对象方法能不能做回调函数呢?
如果能,又该怎么做呢?
...全文
101
4
打赏
收藏
能不能让一个对象方法作回调函数?
通常好象都是这样做的: function EnumWindowsProc(hWnd: HWnd; lParam: Integer): Boolean; stdcall; begin ... end; ... EnumWindows(@EnumWindowsProc, 0); 现在如果上面那个回调函数是一个对象方法,程序运行就会有问题。 但是对象方法能不能做回调函数呢? 如果能,又该怎么做呢?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zqc-tutorial
2003-12-03
打赏
举报
回复
这样失去了对象方法的意义,用了也没什么意义了。
fengyvn
2003-12-02
打赏
举报
回复
补充一下,如果用方法作为回调函数,方法必须是public或published,否则methodAddress会返回nil.
午秋
2003-12-02
打赏
举报
回复
不过要注意的是,在
function TForm1.EnumWindowsProc(hWnd: HWnd; lParam: Integer): Boolean;
里使用TForm1上的控件时,一定要加上全名:
如ListBox1一定要写成Form1.ListBox1
午秋
2003-12-02
打赏
举报
回复
可以,用MethodAddress方法,
例如:
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
function EnumWindowsProc(hWnd: HWnd; lParam: Integer): Boolean;
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
function TForm1.EnumWindowsProc(hWnd: HWnd; lParam: Integer): Boolean;
begin
ShowMessage('hello');
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
EnumWindows(Self.MethodAddress('EnumWindowsProc'), 0);
end;
C语言笔记01(7.15-7.18)
C语言基本知识点思维导图
【智能汽车竞赛】摄像头组-长春理工大学-天狼五号技术赛方案.docx
【智能汽车竞赛】摄像头组-长春理工大学-天狼五号技术赛方案.docx
MATLAB中计算可达矩阵的实现
方法
资源下载链接为: https://pan.quark.cn/s/abbae039bf2a 请用MATLAB编程实现从邻接矩阵计算可达矩阵。
hadoop-mapreduce-client-jobclient-2.7.3.jar中文文档.zip
1、压缩文件中包含: 中文文档、jar包下载地址、Maven依赖、Gradle依赖、源代码下载地址。 2、使用
方法
: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 3、特殊说明: (1)本文档为人性化翻译,精心制
作
,请放心使用; (2)只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; (3)不该翻译的内容保持原样,如:类名、
方法
名、包名、类型、关键字、代码 等。 4、温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件。 5、本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册。
jetty-server-9.4.44.v20210927.jar中文文档.zip
1、压缩文件中包含: 中文文档、jar包下载地址、Maven依赖、Gradle依赖、源代码下载地址。 2、使用
方法
: 解压最外层zip,再解压其中的zip包,双击 【index.html】 文件,即可用浏览器打开、进行查看。 3、特殊说明: (1)本文档为人性化翻译,精心制
作
,请放心使用; (2)只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; (3)不该翻译的内容保持原样,如:类名、
方法
名、包名、类型、关键字、代码 等。 4、温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件。 5、本文件关键字: jar中文文档.zip,java,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,中文API文档,手册,开发手册,使用手册,参考手册。
Windows SDK/API
1,183
社区成员
22,328
社区内容
发帖
与我相关
我的任务
Windows SDK/API
Delphi Windows SDK/API
复制链接
扫一扫
分享
社区描述
Delphi Windows SDK/API
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章