SDK VC++ DLL的函数原型DLLEXPORT_API int __stdcall RegisterImageStreamCallback(IMAGE_STREAM_CALLBACK ImageStreamCallback,void *context);
其中 IMAGE_STREAM_CALLBACK 是回调函数
函数原型:
typedef int (*STREAM_DIRECT_READ_CALLBACK)(ULONG channelNumber,void *DataBuf,DWORD Length,int FrameType,void *context);我的调用
procedure MyCallBack(channelNumber:ULONG;DataBuf:PChar;Length:DWORD;FrameType:Integer;context:Pointer);stdcall;
begin
//回调函数
end;现在是数据出来,但是执行完end后就出现"access violation at addr"错误,郁闷死,请高手帮我看看,是不是类型转换还是其他什么错误呀
其中 IMAGE_STREAM_CALLBACK 是回调函数
函数原型:
typedef int (*STREAM_DIRECT_READ_CALLBACK)(ULONG channelNumber,void *DataBuf,DWORD Length,int FrameType,void *context);我的调用
procedure MyCallBack(channelNumber:ULONG;DataBuf:PChar;Length:DWORD;FrameType:Integer;context:Pointer);stdcall;
begin
//回调函数
end;现在是数据出来,但是执行完end后就出现"access violation at addr"错误,郁闷死,请高手帮我看看,是不是类型转换还是其他什么错误呀
解决方案 »
- f1book 6.1 的canEditPaste和canEditPasteSpesial属性不能用
- 运行时出现variant or safe array index out of bounds?
- 怎样建立在delphi 下建立 ado的stream对象
- 高手请进,帮小弟一把(查询问题)
- sql 语句的问题!!运行后总提示cann't find object
- 有谁能不能谈一下ShellApi如何封装的?好像它封装了Api?
- 在看看吧(我等着)
- 100分相赠:如何做一个系统,能读取和保存图片。开发工具Delphi,数据库用Access
- Memo的自动换行是怎么实现的?为什么速度这么快?
- 如何调用Word程序打开指定目录下的Word文件
- 关于 cout 函数
- 求一个sql触发事件,在线等待急..
可能是这个没处理好吧
typedef int (*STREAM_DIRECT_READ_CALLBACK)(ULONG channelNumber,void *DataBuf,DWORD Length,int FrameType,void *context);
--------------------------------------------------------------------------------------------------------------------------
1,你上面给的原形定义的是一个返回值为integer的函数,你定义的是一个过程,即在c++中就变成了一个返回为void(空)的函数,明显对应不上了;2,我认为,可能是你的"stdcall"惹的货,我看你给的原形并没有指明这个回调函数是stdcall的,而cdecl是C和C++默认方式,你可以改成cdecl试一下!
procedure MyCallBack(channelNumber:ULONG;DataBuf:PChar;Length:DWORD;FrameType:Integer;context:Pointer);cdecl;
begin
//回调函数
end;3,你给的函数原型是"STREAM_DIRECT_READ_CALLBACK",并非这里需要的"IMAGE_STREAM_CALLBACK",我不知道你是否确定他们都是一样的!:)