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

在 c++ builder 中如何使用 callback 函數

尚未結案
MartinPan
一般會員


發表:3
回覆:4
積分:1
註冊:2005-04-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-05-08 18:00:03 IP:61.230.xxx.xxx 未訂閱
各位大大 小弟在msdn中找到一個函數如下,想運用在 c builder 中。但compile時會出現 undefine symbol 'Mythis'的訊息 如果 將Mythis移除又會出現use . or -> to call CTapiConnection::lineCallbackFunc( DWORD dwDevice, DWORD dwMsg, DWORD dwCallbackInstance, DWORD dwParam1, DWORD dwParam2, DWORD dwParam3) 的訊息 請問各位先進在 c builder 如何處理此問題 void CALLBACK CTapiConnection::lineCallbackFunc( DWORD dwDevice, DWORD dwMsg, DWORD dwCallbackInstance, DWORD dwParam1, DWORD dwParam2, DWORD dwParam3) { switch(dwMsg) // Handle the line messages. { case LINE_CALLSTATE: Mythis->HandleLineCallState(dwDevice, dwMsg, dwCallbackInstance,dwParam1, dwParam2, dwParam3); break; case LINE_CLOSE: // Line has been shut down. ASSERT(Mythis); Mythis->m_hLine = NULL; Mythis->m_hCall = NULL; Mythis->HangupCall(); // all handles invalidated by this time break; case LINE_REPLY: if ((long) dwParam2 != SUCCESS) OutputDebugString("LINE_REPLY error\n"); else OutputDebugString("LINE_REPLY: successfully replied\n"); break; case LINE_CREATE: ASSERT(Mythis); if (Mythis->m_dwNumDevs <= dwParam1) Mythis->m_dwNumDevs = dwParam1 1; break; default: OutputDebugString("lineCallbackFunc message ignored\n"); break; } return; } //---------------------------------------------------------------------------
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-05-08 21:52:32 IP:61.140.xxx.xxx 未訂閱
MartinPan 您好:    看起來 CTapiConnection 應該是一個 class,查看過 MSDN 那篇文章後,將 Mythis 之後的 hLine, hCall....等與該 class 的宣告做個對比後,感覺上 Mythis 有點像是 BCB 裡的 this,您不妨將 Mythis 改成 this 試試看吧。 發表人 - RedSnow 於 2005/05/08 21:54:47
jcjroc
高階會員


發表:21
回覆:279
積分:115
註冊:2002-09-18

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-05-09 21:47:29 IP:61.219.xxx.xxx 未訂閱
API Callback 絕大部分是Static function Class Methods如未經過轉換是無法當作API的Callback 雖然你可以在class中定義一個Static function 但在該function中並無法取得class中的任何成員 當然有其他的方式可以讓Class Methods成為 API Callback function,但那又是另依項技術
MartinPan
一般會員


發表:3
回覆:4
積分:1
註冊:2005-04-30

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-05-12 05:10:14 IP:61.230.xxx.xxx 未訂閱
jcjroc 您好 謝謝你的回應,可否請你告訴我要是何種技術。 以及參考的文件。謝謝!!
jcjroc
高階會員


發表:21
回覆:279
積分:115
註冊:2002-09-18

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-05-16 07:50:56 IP:211.75.xxx.xxx 未訂閱
你可以參考 MakeObjectInstance這個Function的作法 網路上相關文章有很多
MartinPan
一般會員


發表:3
回覆:4
積分:1
註冊:2005-04-30

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-05-24 20:49:12 IP:218.167.xxx.xxx 未訂閱
感謝jcjroc 的指點,我正朝您指點的方向努力的研讀資料。但我尚未把問題搞清楚。但我會加繄腳步的。謝謝您!!
系統時間:2024-04-29 10:31:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!