線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1796
推到 Plurk!
推到 Facebook!

調用C DLL的參數問題

缺席
frog1
一般會員


發表:25
回覆:40
積分:18
註冊:2007-01-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2009-01-10 22:10:34 IP:219.81.xxx.xxx 訂閱
Hi,各位前輩
C的DLL描述 int GetCameras(Addr* paddr, unsigned* psize)
struct Addr{
unsigned char ip[4],
mac[6];
}
我在Delphi7 用
AddrIP = packed record
IP : array[0..3] of byte;
Mac1: array[0..5] of byte;
end;
Function _GetCameras(Var IP : AddrIP ; Var intCno : Integer) :Integer ; cdecl ; External 'AV2000SDK.dll';

Var CNo : Integer;
IP : AddrIP;
begin
CNo := 0;
Showmessage(IntToStr(_GetCameras(IP, CNo)));

可看到 Message回傳 1 , 應是正確
但IP, Mac都不正確(IP顯示為 18,0,117,44)
請教前輩我該如何正確的調用


編輯記錄
frog1 重新編輯於 2009-01-11 16:58:27, 註解 無‧
frontier
初階會員


發表:0
回覆:27
積分:30
註冊:2008-11-20

發送簡訊給我
#2 引用回覆 回覆 發表時間:2009-01-15 09:45:03 IP:59.125.xxx.xxx 訂閱
Function _GetCameras(Var IP : AddrIP ; Var intCno : Integer) :Integer ; stdcall ; External 'AV2000SDK.dll';
frog1
一般會員


發表:25
回覆:40
積分:18
註冊:2007-01-24

發送簡訊給我
#3 引用回覆 回覆 發表時間:2009-01-16 17:23:32 IP:219.86.xxx.xxx 訂閱
Hi, 
感謝frontier的指點, 但我試過, 結果還是一樣
我想不是調用的方式錯誤, 而是參數給的方式不正確
再請前輩們指點

系統時間:2024-04-24 3:49:15
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!