请教如何使用CALLBACK类型的函数?

haoyan 2005-12-15 10:44:48
有数据采集卡的API函数,文档中定义如下:
int WINAPI DataIrq(int port,VOID (CALLBACK *func)(int port),int bufferlength);
我在主窗体中定义了一个函数void ProcessData(int port),我在主窗体FormShow中调用DataIrq,却无法把该函数作为参数传给DataIrq,只有在主窗体外定义后才能传递,不知何故.
另外那位高手解释下CALLBACK的用法.
...全文
165 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
haoyan 2005-12-21
  • 打赏
  • 举报
回复
没错,可以用static,结贴.
DelphiStudy 2005-12-16
  • 打赏
  • 举报
回复
mark
空中猎手 2005-12-16
  • 打赏
  • 举报
回复
听楼上的,加上static就可以乐~~
michael_bo 2005-12-16
  • 打赏
  • 举报
回复
试试在回调函数定义时加上static
过客猫2022 2005-12-15
  • 打赏
  • 举报
回复
类中的函数与非类中的函数是不一样的!因为类中的函数除了函数名隐式传this指针!而一般的就不用!像BCB中的事件,就是类方法指针,在定义了时候需要用__closure说明!
haoyan 2005-12-15
  • 打赏
  • 举报
回复
把指针传进去我明白,但
>>回调过程不能是类成员函数,你需要把类成员函数放在类外边.
写几个独立的不属于任何类的函数?用惯了C++,特别用惯了BCB,一个函数不属于任何类,总是不太习惯.
空中猎手 2005-12-15
  • 打赏
  • 举报
回复
用法就是写个函数,然后把指针传进去.我好像等于没说.-_-#
空中猎手 2005-12-15
  • 打赏
  • 举报
回复
如果我对窗体中,窗体外的理解正确的话,你的答案应该是这个:
  回调过程不能是类成员函数,你需要把类成员函数放在类外边。

13,874

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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