回调函数问题之回调函数不执行……高分求解!!!!

ytplh0704 2005-11-05 02:51:25
最近调试一个RFID,商家只给个dll文件,没有文档,有一个源码VB6的事例程序,我在VC6下使用dll,并且dll文件是用VC6编写的。下面是我的定义,请达人帮忙,小弟不胜感激!
函数定义:
typedef (WINAPI*pReaderCommReadTagData)
(RCB_TYPE *lprcb, BYTE nodeAddress, BYTE antanna,int* idLen,
BYTE idtype,BLOCK_DATA_TYPE* idData, BYTE startBit,BYTE bitLen,
int* TagCount, PVOID);
pReaderCommReadTagData ReaderCommReadTagData = NULL;
ReaderCommReadTagData =
(pReaderCommReadTagData)GetProcAddress(LoadLibrary("ReaderComm5dll.dll"),"ReaderCommReadTagData");
我的回调函数定义:
static void WINAPI ReadTagDataCallback(RCB_TYPE *lpRCB,BYTE noteaddress,
BYTE antena_index,BYTE tagType,
BLOCK_DATA_TYPE *tagData,BYTE userDataLen,BLOCK_DATA_TYPE *tagUserData);

说明:BLOCK_DATA_TYPE , RCB_TYPE 为自定义结构。
我运行程序读取电子标签的数据,就是不进入回调函数,不知道为什么。此前还有几个函数的声明跟这个差不多,如读取电子标签的Tag ID,都是成功的,并且也有回调函数,就是这个读取用户数据的函数不能执行到回调函数。
请达人指教,告知一下可能存在的问题,为什么会不执行到回调?

...全文
576 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ytplh0704 2005-11-08
  • 打赏
  • 举报
回复
已经搞定,谢谢大家!
ytplh0704 2005-11-06
  • 打赏
  • 举报
回复
自己顶一下!
ytplh0704 2005-11-06
  • 打赏
  • 举报
回复
达人们,救救啊!
VB6的事列程序能够读出数据,但是我的VC怎么也进不去回调函数!~
wshcdr 2005-11-05
  • 打赏
  • 举报
回复
UP
oyljerry 2005-11-05
  • 打赏
  • 举报
回复
是不是这个函数本身有问题等,
ytplh0704 2005-11-05
  • 打赏
  • 举报
回复
不是NULL,获得函数地址成功!
ReaderCommReadTagData函数,事例中说是int型,成功返回就是0,否则为其他值;但是我调试的时候他是成功返回0的,就是不执行回调函数,所以我得不到数据。我已经被搞得找不到北了!
吹泡泡的小猫 2005-11-05
  • 打赏
  • 举报
回复
ReaderCommReadTagData =
(pReaderCommReadTagData)GetProcAddress(LoadLibrary("ReaderComm5dll.dll"),"ReaderCommReadTagData");

确认一下得到的ReaderCommReadTagData是不是NULL
ytplh0704 2005-11-05
  • 打赏
  • 举报
回复
回调函数是dll中定义的,我只是定义个静态函数再把函数指针传递过去,这个需要我注册吗?
我对VC不是很熟悉,只是偶尔用一下!

此前的几个函数我都是这么定义的,没有发生这种情况.
typedef (WINAPI*pReaderCommReadTagData)
(RCB_TYPE *lprcb, BYTE nodeAddress, BYTE antanna,int* idLen,
BYTE idtype,BLOCK_DATA_TYPE* idData, BYTE startBit,BYTE bitLen,
int* TagCount, PVOID);//PVOID 是回调函数的指针,我写了个函数ReadTagDataCallback,再把他的指针传过去
Zhymax 2005-11-05
  • 打赏
  • 举报
回复
回调函数注册成功了吗?
ytplh0704 2005-11-05
  • 打赏
  • 举报
回复
RFID是MATRICS公司的,那位有这方便的资料请告知,十分感谢!
补充一下:我调试的时候ReaderCommReadTagData函数返回成功,但是没有读出数据。

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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