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

如何呼叫使用DLL檔

答題得分者是:derrenbol1
HomeSound
中階會員


發表:44
回覆:178
積分:94
註冊:2002-08-31

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-11-16 19:53:12 IP:219.81.xxx.xxx 未訂閱
各位前輩好: 小弟有一字幕機的xxx.h xxx.Dll檔,爬文好久,老是覺的有誤所以才發問 http://home.anet.net.tw/homesound/MLLibAPI.h http://home.anet.net.tw/homesound/MLLib.dll 包子大佬的文當然爬過 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=33420 不過資質愚昧,不甚其解,首先用implib -a MLLib.lib MLLib.dll 產生lib檔,然後加到專案中,再引入#include "MLLibAPI.h" 使用內部的函數 HANDLE ML1=OpenPort(1); 後產生[Linker Error] Unresolved external 'OpenPort' referenced from C:\CSC\CSC1.OBJ 再依照 http://www2.borland.com.tw/tw/td001018.html 這篇文章,使用tdump MLLib.dll MLLib.TXT,觀其內部函數 現在已知MLLibAPI.h檔案內容好像有錯誤,不知如何才能呼叫它 已試過"靜態"及"動態"聯結都無法如願的呼叫使用此DLL檔,但工廠 卻只給這兩個東東,期限將近,賠錢事小,沒信用的話就...唉 望個位前輩可否指導一二,讓小弟突破難關,扣謝先. 開發環境:
------
--==多看.多學.多聽==--
derrenbol1
中階會員


發表:5
回覆:113
積分:93
註冊:2004-12-09

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-11-16 20:11:23 IP:210.202.xxx.xxx 未訂閱
To HomeSound:      我有下載你上傳的東西來試, 沒有Link上的問題; 只是你的MLLibApi.h中:      
  #ifdef MLLIB_API_EXPORTS
  #define MLLIB_API_API extern "C" __declspec(dllexport)
  #else
  #define MLLIB_API_API extern "C" __declspec(dllimport)
  #endif
  
應該改成:
  #ifdef MLLIB_API_EXPORTS
  #define MLLIB_API extern "C" __declspec(dllexport)
  #else
  #define MLLIB_API extern "C" __declspec(dllimport)
  #endif
  
因為底下各函數的原型宣告皆是以MLLIB_API來宣告的.
derrenbol1
中階會員


發表:5
回覆:113
積分:93
註冊:2004-12-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-11-16 20:19:13 IP:210.202.xxx.xxx 未訂閱
To HomeSound:       對了, 你在製做Lib檔案時, 請用:       
   implib mllib.lib mllib.dll
   
即可; -a不用了, 那是給使用於DOS底下的編譯器 套裝軟體使用的, 試試看.
HomeSound
中階會員


發表:44
回覆:178
積分:94
註冊:2002-08-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-11-16 21:36:22 IP:219.81.xxx.xxx 未訂閱
對啦! 就是差一個 -a的參數,已經可以了, 書讀太少了 感恩啊! 叩謝之 --==多看.多學.多聽==--
------
--==多看.多學.多聽==--
系統時間:2024-04-23 22:18:58
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!