(XE 10.1 C++) function delegate 練習 |
|
fuuk21
一般會員 發表:16 回覆:7 積分:4 註冊:2003-04-18 發送簡訊給我 |
代碼實現在 uFunctionDelegate.hpp 檔案
1. 自建 'TMyDelegate' 類, 繼承自 TThread, 利用TThread屬性 FreeOnTerminate = true(線程離開後, 自動釋放 object), 來實現函數委派 2. 自建 'TThxDelegate' 類, 繼承自 TCppInterfacedObject, 利用TThread::Synchronize和TThread::Queue 這2個靜態成員函數,來實現函數委派 3. 自建 'TfnDelegate' 類, 繼承自 TCppInterfacedObject, 再依照函數型別的不同(注:1), 建立子類(繼承自 TfnDelegate)(注:2) 利用TThread::CreateAnonymous 這個靜態成員函數(注:3), 來實現(注:4) 來實現函數委派 注:1 委派函數參數型別和回傳型別目前只完成 , float, double, int, String, char, wchar_t, const char *, const wchar_t * 注:2 委派函數型別, 沒回傳值, 參數個數 0~3 個, 子類別依序是: TfnDelegateTProc, TfnDelegateTProc__1, TfnDelegateTProc__2, TfnDelegateTProc__3 委派函數型別, 有回傳值, 參數個數 0~3 個, 子類別依序是: TfnDelegateTFunc, TfnDelegateTFunc__1, TfnDelegateTFunc__2, TfnDelegateTFunc__3 注:3 TProc是一個抽象類別 (成員函數 Invoke=0), TfnDelegate 實現 Invoke 這成員函數; 當調用 TThread::CreateAnonymous, Invoke會被觸發(被呼叫, 被喚起), 然後執行委派的函數或是程序, 當事情完成後, 再回呼(callback) 完成函數或完成事件 注:4 委派函數有回傳值,用泛型函數 fnDelegate<>, 委派函數沒回傳值 用泛型函數 procDelegate<> 編輯記錄
fuuk21 重新編輯於 2018-01-22 20:54:37, 註解 無‧
|
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |