請問delphi call dll檔的問題 |
尚未結案
|
per_k
一般會員 發表:8 回覆:10 積分:3 註冊:2002-07-16 發送簡訊給我 |
|
領航天使
站長 發表:12216 回覆:4186 積分:4084 註冊:2001-07-25 發送簡訊給我 |
|
ddy
站務副站長 發表:262 回覆:2105 積分:1169 註冊:2002-07-13 發送簡訊給我 |
|
a903
一般會員 發表:5 回覆:13 積分:3 註冊:2003-08-27 發送簡訊給我 |
小弟有一專案需Call一DLL範例是C的寫法
LONG SLE4442_Read_Main_Memory (
IN HANDLE hCard,
OUT LPBYTE pbRecvBuffer,
IN LONG aStartAddr,
IN OUT LPDWORD pcbRecvLength,
);
在Delphi 我是用: unit SmartCardL;
interface
type
TConnect=function:Integer; stdcall;
TDisConnect=function(x:THandle):Integer; stdcall;
TPowerUp=function(x:THandle):Integer; stdcall;
TReadSC =function(x:THandle;sStr:String;Start:integer;Len:word):Integer; stdcall;
THandle =Integer;
implementation
end. 主程式用:
procedure TMainM.Button4Click(Sender: TObject);
var Handle:THandle;
ReadSC:TReadSC;
i:Integer;
Buf:array [1..200] of char;
begin
Handle:=LoadLibrary('Imtscr.DLL');
if Handle<>0 then begin
@ReadSC:=GetProcAddress(Handle,'SLE4442_Read_Main_Memory');
if (@ReadSC<>nil) then begin
i:=ReadSC(SCHandle,Buf,0,20);
end else
ShowMessage('使用函數"ReadSC"時錯誤!');
FreeLibrary(Handle);
Memo1.Lines.Add('ReadSC='+IntToStr(i));
Memo1.Lines.Add(Buf);
end;
end; 不過一直出錯,我想是參數傳遞錯誤吧< >
請高手高高手指教..< >
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |