全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1187
推到 Plurk!
推到 Facebook!

DLL调用的奇怪问题(关于传入指针阵列问题)

缺席
teamking
一般會員


發表:1
回覆:0
積分:0
註冊:2006-11-04

發送簡訊給我
#1 引用回覆 回覆 發表時間:2006-11-04 09:35:20 IP:218.18.xxx.xxx 未訂閱
各位先进:
我在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我皆爱
系統時間:2024-07-03 1:43:34
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!