___closure 的問題!VC 6 改寫為BCB 6.0 |
尚未結案
|
kipa
一般會員 ![]() ![]() 發表:2 回覆:1 積分:0 註冊:2003-10-29 發送簡訊給我 |
我手邊有一個廠商的DLL 我要做的是callback的應用
在手冊是這樣定義的 CapModifyCallback( CapContext context, CapCallback* pfnCallback, void* pParam, bool bAdd ) CapCallback : Declaration typedef void __cdecl CapCallbackCallback( void* pParam, int iMessage, unsigned long ulParam ) 我在VC 6 中 這樣寫就可以使用 在main.h中 [code cpp] static void busCallback( void* pparam, int iMessage, unsigned long ulParam ); [/code] 在main.cpp中 [code cpp] CapModifyCallback( Context, busCallback, this, true ); busCallback( void* pparam, int iMessage, unsigned long ulParam ) { //.... } [/code] 這樣就可以了 正常執行了 不過在BCB 會有錯誤的訊息 [C Error] Main.cpp(95): E2034 Cannot convert 'void (* (_closure )(void *,int,unsigned long))(void *,int,unsigned long)' to 'void (*)(void *,int,unsigned long)' _closure 看了一些資料和文件 還是改不出來 我應該從哪裡下手修正? |
GrandRURU
站務副站長 ![]() ![]() ![]() ![]() ![]() ![]() 發表:240 回覆:1680 積分:1874 註冊:2005-06-21 發送簡訊給我 |
是因為用VC6寫的DLL嗎?
參考一下:(VC-BCB 整合系列一) 如何由 BCB 使用 VC 所產生的 LIB 及 DLL ===================引 用 kipa 文 章=================== 我手邊有一個廠商的DLL 我要做的是callback的應用 在手冊是這樣定義的.................................43................................ |
kipa
一般會員 ![]() ![]() 發表:2 回覆:1 積分:0 註冊:2003-10-29 發送簡訊給我 |
|
aftcast
站務副站長 ![]() ![]() ![]() ![]() ![]() 發表:81 回覆:1485 積分:1763 註冊:2002-11-21 發送簡訊給我 |
你好,根據你的錯誤訊息
C Error] Main.cpp(95): E2034 Cannot convert 'void (* (_closure )(void *,int,unsigned long))(void *,int,unsigned long)' to 'void (*)(void *,int,unsigned long)' 我猜是你把函式指標。是不是這樣呢? 比如說放在 TForm1裡的某一個方法,其參數形式是void *,int,unsigned long 。你就把該方法指定給那個函式指標 與 方法指標 的不同! 如果真的是這樣的問題,那麼就要乖乖的把自定函式寫在 類別之外,即當做一般的函式而非方法。 然後再把它指給 你的callback pointer
------
蕭沖 --All ideas are worthless unless implemented-- C++ Builder Delphi Taiwan G+ 社群 http://bit.ly/cbtaiwan |
Ktop_Robot
站務副站長 ![]() ![]() 發表:0 回覆:3511 積分:0 註冊:2007-04-17 發送簡訊給我 |
|
flylover
一般會員 ![]() ![]() 發表:0 回覆:6 積分:6 註冊:2009-04-30 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |