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

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,都是成功的,并且也有回调函数,就是这个读取用户数据的函数不能执行到回调函数。
请达人指教,告知一下可能存在的问题,为什么会不执行到回调?

...全文
662 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函数返回成功,但是没有读出数据。
内容概要:本文围绕数据驱动下光伏建筑群的源荷不确定性解析及其储能系统的多目标低碳经济调度展开研究,提出了一种结合预测与优化的综合方法。首先利用数据驱动技术对光伏发电和负荷需求的不确定性进行建模与预测,进而构建包含经济性与低碳性双重目标的储能调【电力系统】【多目标调度+预测】数据驱动下光伏建筑群源荷不确定性解析及其储能多目标低碳经济调度研究(Python代码实现)度优化模型,并采用多目标优化算法(如NSGA-II)求解,实现能源成本降低与碳排放减少的协同优化。文中还提供了基于Python的代码实现,支持模型复现与进一步研究。; 适合人群:具备一定电力系统基础知识和Python编程能力的研究生、科研人员及从事新能源调度相关工作的工程技术人员。; 使用场景及目标:①掌握光伏与负荷不确定性建模方法;②学习多目标优化在储能调度中的应用;③实现低碳经济调度模型的代码复现与改进;④支撑相关课题研究或工程项目中的调度策略设计。; 阅读建议:建议读者结合所提供的Python代码,逐步理解数据预处理、不确定性分析、模型构建与优化求解全过程,重点关注多目标权衡与算法参数设置,鼓励在实际数据集上进行测试与优化。

16,550

社区成员

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

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

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