做过海康视频二次开发的请进(100)

  • 主题发起人 kunwyf12345
  • 开始时间
K

kunwyf12345

Unregistered / Unconfirmed
GUEST, unregistred user!
我照c++的海康的例子写了一段程序,预览的时候用到net_dvr_setrealdatacallback函数,里面有回调函数,我看c++的例子调完这个函数,视频就可以显示了,可是我的调完以后,回调函数倒是能调用到,调的时候也不报错,可是调用完成后视频不显示,有时候报内存错误,有时候显示一个窗体,上面什么也没有然后程序就死了,我看了函数内部的值都跟c++的一样啊
 
哪位大侠会的指点一下我啊
 
是不是调用约定不对,或者调用函数的时候参数传递的有问题
 
这种情况一般都是你的调用约定没处理好
 
我看了是我的调用回调函数弄错了,这句去掉就可以显示了,可是应该怎么改啊boolreturn:=NET_DVR_SetRealDataCallBack(m_iPlayhandle, myRealDataCallBack ,m_iPlayhandle);type tfRealDataCallBack=procedure ( lRealHandle:longint; dwDataType:DWORD; pBuffer:pBYTE; dwBufSize:DWORD; dwUser:DWORD);cdecl;function NET_DVR_SetRealDataCallBack( lRealHandle:longint; fRealDataCallBack:tfRealDataCallBack; dwUser:longint): BOOL; stdcall;external CoinDllFile;procedure myRealDataCallBack(lRealHandle:Longint; dwDataType:DWORD;pBuffer:pByte;dwBufSize,dwUser:DWORD); cdecl;procedure myRealDataCallBack(lRealHandle:Longint; dwDataType:DWORD;pBuffer:pByte;dwBufSize,dwUser:DWORD); cdecl;beginshowmessage(inttostr(lRealHandle)+inttostr(dwUser)+inttostr(dwDataType)+inttostr(dwBufSize));end;编译的时候也没出错啊,我这个哪个地方写错了啊
 
cdecl都改成stdcall好了,不知道上次为什么stdcall不好用来的
 
顶部