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

Dll檔載入編譯時錯誤..

尚未結案
RickyT
一般會員


發表:15
回覆:25
積分:13
註冊:2002-06-15

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-04-15 21:37:46 IP:203.64.xxx.xxx 未訂閱
各位先進~ 小弟目前再撰寫一個有關USB Phone的程式..廠商提供了一個控制USB Phone的API..廠商所給的範例是在VC 中使用該動態連結檔,小弟想在BCB中去載入該DLL檔..以用裡面的函式呼叫來控制USB Phone..但是小弟按照其他的討論文章的方法,將DLL檔載入,在編譯時卻出現.h的標頭檔內有 "[C Error]HidKey.h[行號]:E2141 Declaration syntax error" 的錯誤訊息.. 以下是部分錯誤的程式碼.. extern "C" int PASCAL EXPORT OpenHid( HWND hWnd); extern "C" BOOL PASCAL EXPORT CloseHid(); extern "C" BOOL PASCAL EXPORT RingToneOn(); : : 請問該如何解決,或哪裡有相關資料可以參考,請各位前輩指導一下嚕.. ><~
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-04-15 21:42:30 IP:61.221.xxx.xxx 未訂閱
引言: 各位先進~ 小弟目前再撰寫一個有關USB Phone的程式..廠商提供了一個控制USB Phone的API..廠商所給的範例是在VC++中使用該動態連結檔,小弟想在BCB中去載入該DLL檔..以用裡面的函式呼叫來控制USB Phone..但是小弟按照其他的討論文章的方法,將DLL檔載入,在編譯時卻出現.h的標頭檔內有 "[C++ Error]HidKey.h[行號]:E2141 Declaration syntax error" 的錯誤訊息.. 以下是部分錯誤的程式碼.. extern "C" int PASCAL EXPORT OpenHid( HWND hWnd); extern "C" BOOL PASCAL EXPORT CloseHid(); extern "C" BOOL PASCAL EXPORT RingToneOn(); : : 請問該如何解決,或哪裡有相關資料可以參考,請各位前輩指導一下嚕.. ><~
RickyT 你好: 先參考這篇文章中「4」動態連結的做法 src="http://delphi.ktop.com.tw/loadfile.php?TOPICID=10003806&CC=223734"> -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
RickyT
一般會員


發表:15
回覆:25
積分:13
註冊:2002-06-15

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-04-16 00:44:44 IP:211.76.xxx.xxx 未訂閱
感謝RaynorPao先進的指導嚕 .. 小弟在將 extern "C" BOOL PASCAL EXPORT OpenHid(HWND hwnd)改成 extern "C" __declspec(dllexport)int pascal OpenHid(HWND hWnd); 先前的問題算是解決了,但是編譯時換出現 HidKey[行號]:E2147'HWND'cannot start a parameter declaration 這樣的錯誤..只要函式內有參數的傳遞..就會出現這樣的錯誤..是否我的改法不對ㄋㄟ..找不到相關的討論或資料..麻煩各位前輩幫忙一下嚕.. ><~
RickyT
一般會員


發表:15
回覆:25
積分:13
註冊:2002-06-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-04-16 02:06:44 IP:211.76.xxx.xxx 未訂閱
我的錯誤訊習是 'LPCTSTR' cannot start a parameter declaration 'HWND' cannot start a parameter declaration 'BOOL' cannot start a parameter declaration 將最後一個修改成 'bool' cannot start a parameter declaration 後以經沒問題..因此推斷可能是VC和BCB宣告型態字串不同造成.. 後來好不容易找到其他先進在討論LPCTSTR..才知到那是個遠程指標形態..但既然有這樣的變數形態..那為何宣告會出錯ㄋㄟ..請知道的先進指導一下嚕..感激不盡..  ><~   
RickyT
一般會員


發表:15
回覆:25
積分:13
註冊:2002-06-15

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-04-16 19:21:05 IP:211.76.xxx.xxx 未訂閱
終於知道為什麼無法宣告了..原來是要把"windows.h"這個標頭檔include進來,這樣宣告變數就不會有錯誤了.. 所以應該是這些變數是定義在windows.h中的..不曉得這樣說對不對... ^^ll
系統時間:2024-05-06 20:43:05
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!