C
coolsoft
Unregistered / Unconfirmed
GUEST, unregistred user!
各位先进:
我在VC中写了一个DLL,里面有一个函数: int WINAPI func0(BYTE *pBuffer,int w ,int h,POINT *psize[],BYTE *plist[]);
在DELPHI 中声明并调用,function func0(pBufferByte;w,h:integer;psize:array of ppoint;plist:array of PBYTE):integer;stdcall;external 'mydll.dll';
调用时, plist和psize均已初始化,并分配了内存.
结果调用时出现内存访问错误,我跟踪了一下内存地址,发现在VC的DLL中接收的plist的地址是错误的,显示的地址是9,所以当房问plist中的元素是,出现内存越界问题.但是其他参数传递很正常.不知何解.
我想应该不是参数转换的问题,因为两边我都是stdcall.
恳请了解的朋友给个提示.
我在VC中写了一个DLL,里面有一个函数: int WINAPI func0(BYTE *pBuffer,int w ,int h,POINT *psize[],BYTE *plist[]);
在DELPHI 中声明并调用,function func0(pBufferByte;w,h:integer;psize:array of ppoint;plist:array of PBYTE):integer;stdcall;external 'mydll.dll';
调用时, plist和psize均已初始化,并分配了内存.
结果调用时出现内存访问错误,我跟踪了一下内存地址,发现在VC的DLL中接收的plist的地址是错误的,显示的地址是9,所以当房问plist中的元素是,出现内存越界问题.但是其他参数传递很正常.不知何解.
我想应该不是参数转换的问题,因为两边我都是stdcall.
恳请了解的朋友给个提示.