[問題] 如何用xe2呼叫dll內的方法

作者: pony0305 (XDDD)   2014-11-06 17:51:57
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
BCB xe2版本
額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
問題(Question):
目前手上有一個dll檔、h檔和lib檔(但沒有open source code)
目的是為了瞭解dll內某個function的用途,已透過軟體知道dll內所有的function nam
e。
為了符合BCB格式的lib檔,已經將DLL檔透過implib.exe輸出成LIB檔,並加入到BC
B的專案中。
第一次學習怎麼呼叫dll,上網查詢,是說include後就打
extern “C” __declspec(dllimport) bool __stdcall ****(char app)
PS:****=dll內的function name;()內是格式
執行的時候,顯示該行 Declaration syntax error,
請問各位大大,我該如何宣告,又該如何使用dll內的特定dunction呢?
已經爬文和google找好幾天了,但都沒有找到可以解決的方法或是code,
希望可以給我相似的code讓我try try看,非常急成功者將給予5000P答謝。
謝謝
餵入的資料(Input):
預期的正確結果(Expected Output):
希望可以呼叫dll內的特定function,以了解這個方法大概是在幹嘛的(什麼作用即可)
錯誤結果(Wrong Output):
語法錯誤
程式碼(Code):(請善用置底文網頁, 記得排版)
補充說明(Supplement):
作者: GoIt (凍物。)   2014-11-06 23:08:00
Google: TK呱呱
作者: serikafan   2014-11-07 11:06:00
只看貼出來的code的話,你的extern "C"的"是全型沒加分號? 我用bcb6試了一下,分號加上去就能過了呃,include header就不用自己宣告函式了,只是header檔可能不合用,所以會自己宣告你的header檔裡已經有宣告,應該可以直接用當一般函式直接叫用dll沒放在執行目錄下吧不是放在專案資料夾內,是要放在執行時的工作目錄下預設的狀況直接跟執行檔放同個目錄就行了
作者: Baternest (忍蛋)   2014-11-07 14:10:00
先不要管lib了 直接LoadLibrary (dll)試試...
作者: serikafan   2014-11-07 19:24:00
除了連絡原廠外,大概只能去trace機械碼了

Links booklink

Contact Us: admin [ a t ] ucptt.com