請教一dll檔的使用方法 |
尚未結案
|
zhong
一般會員 發表:46 回覆:17 積分:12 註冊:2004-08-02 發送簡訊給我 |
有一DLL檔案KQCONNECT_V70.dll
它的Delphi用戶使用手冊是這樣介紹的
Bool SetPort (PortNum As Integer)
功能: 用來打開一個序列埠, 在做所有的操作之前, 請調用此函數來設置並打開一個有效的序列埠,否則將使用動態庫初始打開的序列埠。(此函數也可用來設置動態庫初始埠。)
參數說明:
PortNum 是一個正整數, 表示用戶想打開的序列埠號, 一般為1 或2, 如果用戶擴展了PC 機的序列埠,也可以使用其他, 但是一般小於10。
Return: 如果函數打開埠成功, 將返回true, 否則返回false。
Note:在調用此函數時,請選擇一個有效的埠號, ( 沒被其他設備佔用且存在的埠), 如果埠無效,則返回false。 打開埠成功, 則返回true,
Example:
Var
BoolFlag as Boolean;
Object:OleVariant;
Object:=createoleobject('KQCONNECT.Connect');
Boolflag:=Object.SetPort(2);
但是我依照Example中的代碼在delphi用時確有錯誤,敬請大大們賜教這個Example 有錯誤嗎?怎樣調用這個dll檔及如何使用這里面的函數.
|
malanlk
尊榮會員 發表:20 回覆:694 積分:577 註冊:2004-04-19 發送簡訊給我 |
|
zhong
一般會員 發表:46 回覆:17 積分:12 註冊:2004-08-02 發送簡訊給我 |
我是這樣寫的
procedure TForm1.Button6Click(Sender: TObject);
var
BoolFlag as Boolean;
Object:OleVariant;
begin
Object:=createoleobject('KQCONNECT.Connect');
Boolflag:=Object.SetPort(2);
end;
錯誤是
[Warning] FMAIN.pas(84): Comparison always evaluates to True
[Warning] FMAIN.pas(84): Comparing signed and unsigned types - widened both operands
[Warning] FMAIN.pas(132): Variable 'data' might not have been initialized
[Warning] FMAIN.pas(132): Variable 'timeString' might not have been initialized
[Warning] FMAIN.pas(132): Variable 'FirstRecord' might not have been initialized
[Error] FMAIN.pas(210): ',' or ':' expected but 'AS' found
[Error] FMAIN.pas(211): Class, interface and object types only allowed in type section
[Error] FMAIN.pas(211): ',' or ':' expected but ';' found
[Error] FMAIN.pas(212): Type expected but 'BEGIN' found
[Error] FMAIN.pas(213): Statement expected but 'OBJECT' found
[Error] FMAIN.pas(214): Expression expected but 'OBJECT' found
[Fatal Error] DLL.dpr(5): Could not compile used unit 'FMAIN.pas'
|
malanlk
尊榮會員 發表:20 回覆:694 積分:577 註冊:2004-04-19 發送簡訊給我 |
|
zhong
一般會員 發表:46 回覆:17 積分:12 註冊:2004-08-02 發送簡訊給我 |
|
malanlk
尊榮會員 發表:20 回覆:694 積分:577 註冊:2004-04-19 發送簡訊給我 |
|
zhong
一般會員 發表:46 回覆:17 積分:12 註冊:2004-08-02 發送簡訊給我 |
這樣用後
procedure TForm1.Button6Click(Sender: TObject);
var
BoolFlag: Boolean;
Object:OleVariant;
begin
Object := CreateOleObject('KQCONNECT.Connect');
Boolflag := Object.SetPort(2);
end; 錯誤訊息是
[Warning] FMAIN.pas(84): Comparison always evaluates to True
[Warning] FMAIN.pas(84): Comparing signed and unsigned types - widened both operands
[Warning] FMAIN.pas(132): Variable 'data' might not have been initialized
[Warning] FMAIN.pas(132): Variable 'timeString' might not have been initialized
[Warning] FMAIN.pas(132): Variable 'FirstRecord' might not have been initialized
[Error] FMAIN.pas(211): Declaration expected but 'OBJECT' found
[Error] FMAIN.pas(213): Statement expected but 'OBJECT' found
[Error] FMAIN.pas(214): Expression expected but 'OBJECT' found
[Fatal Error] DLL.dpr(5): Could not compile used unit 'FMAIN.pas'
|
malanlk
尊榮會員 發表:20 回覆:694 積分:577 註冊:2004-04-19 發送簡訊給我 |
Object 是Delphi保留字 換個名字吧
procedure TForm1.Button6Click(Sender: TObject); var BoolFlag: Boolean; aObject: OleVariant; begin aObject := CreateOleObject('KQCONNECT.Connect'); BoolFlag := aObject.SetPort(2); end;順便提一下, 如果將你的程式碼用 [code] [/code] 夾起來 縮排就不會跑掉了. 編輯框上面有 # 的按鈕也是同樣作用. 內容送出去還是可以改, 要不要改一下啊, 在你提問的頁面 "發表於 - 2005/08/01 : 11:13:21..." 後面應該有4個 "icon" 其中一個可以讓你再修正內容...要不要試一下... |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |