DLL调用的奇怪问题(关于传入指针阵列问题) |
缺席
|
teamking
一般會員 發表:1 回覆:0 積分:0 註冊:2006-11-04 發送簡訊給我 |
各位先进:
我在VC中写了一个DLL,里面有一个函数: int WINAPI func0(BYTE *pBuffer,int w ,int h,POINT *psize[],BYTE *plist[]); 在DELPHI中声明并调用,function func0(pBuffer:pByte;w,h:integer;psize:array of ppoint;plist:array of PBYTE):integer;stdcall;external 'mydll.dll'; 调用时, plist和psize均已初始化,并分配了内存. 结果调用时出现内存访问错误,我跟踪了一下内存地址,发现在VC的DLL中接收的plist的地址是错误的,显示的地址是9,所以当房问plist中的元素是,出现内存越界问题.但是其他参数传递很正常.不知何解. 我想应该不是参数转换的问题,因为两边我都是stdcall. 恳请了解的朋友给个提示. 多谢!
------
Delphi,VC我皆爱 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |