第一次用Delphi寫成DLL無法給其他開發語言用 |
尚未結案
|
JBLpower
一般會員 發表:17 回覆:6 積分:4 註冊:2003-04-09 發送簡訊給我 |
新手小弟
第一次寫DLL扒了站上一些文章後及各位先進指導,
終於在Delphi環境上引用呼叫,一切功能都正常(無出現任何錯誤訊息)
但是給其他開發語言工具上呼叫(如:LabView、VC、BCB...)
發生以下不等情形:
1.用LabView呼叫後,會尋找 Borlndmm.dll。
放在 該與程式同一目錄下,並不會引用,需放至系統(WinNT\System32)下
已解決,想問放在同一目錄下,為何不行呢?
2.將第1點問題解決後,執行呼叫時,程式會自動關閉?
3.在LabView引用、設定參數時,要選擇何種資料型態,才不會出現
『DLL 使用的記憶體位址與LabView使用的記憶體位址 有相衝突的訊息』? 嘗試寫DLL(ADO WaitForm)有些觀念上在建立中,請各位先進多多指教。 已將檔案放至會員求助區內,主題一樣。謝謝各位。
|
wyndog
資深會員 發表:7 回覆:362 積分:348 註冊:2004-10-12 發送簡訊給我 |
|
JBLpower
一般會員 發表:17 回覆:6 積分:4 註冊:2003-04-09 發送簡訊給我 |
|
wyndog
資深會員 發表:7 回覆:362 積分:348 註冊:2004-10-12 發送簡訊給我 |
|
JBLpower
一般會員 發表:17 回覆:6 積分:4 註冊:2003-04-09 發送簡訊給我 |
剛剛 額外寫一個秀訊息的DLL
1.使用 PCHAR 傳入參數
用LabView 呼叫後一切正常,但是關閉程式後,會發生『系統己經建立錯誤日誌』訊息。
2.再把 Coinitialize 拿掉,還是會出現上述訊息。
3.再把 ShareMem 拿掉,關閉程式後,無上述問題。 謝謝 reptile 大大 附註:LabView 有此 Pascal String Pointer & C String Pointer 不知是否與Delphi 的String 有何關係,正在 Try...
如果可以正常動作 在結案喔~
加油~ 有 KTOP 真好 ^^~
|
JBLpower
一般會員 發表:17 回覆:6 積分:4 註冊:2003-04-09 發送簡訊給我 |
拿掉 ShareMem & (String -> PChar 、 Result: Boolean-> Integer)
會出現
An execption occurred within the external code called by a Call library Note. This may have corrupted LabVIEW's memory. You should save any work to a new location and restart LabVIEW. VI "Untitled.vi" was stopped at Call Library Function Note 0x290 of subVI "Untitled.vi"
附註:LabView Call DLL Method
Calling Conventions : stdcall(WINAPI)
input parameter: Type - String
StringFormat - C String Pointer
return parameter: Type - Numberic
Data Type - Signed 32-bit Integer 吼~ 頭好痛...思考中...
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |