推 stupid0319:物件陣列或者是Link? 04/24 21:29
→ s3748679:有辦法在處理函數被觸發的當下知道是由哪個Happy觸發的嗎 04/24 21:41
→ don750421:回stupid大,不太懂你的意思,你的意思是要宣告成 04/24 21:46
→ EdisonX:map ? 04/24 21:46
→ don750421:Happy* cv_veryhappy[];這樣嗎? 04/24 21:46
→ diabloevagto:Factory Method Design Pattern 能用嗎? 04/24 21:47
→ don750421:回s37大,沒辦法,一個函數對應到一個Happy driver.. 04/24 21:48
→ firejox:define 04/24 21:48
→ firejox:macro 04/24 21:49
→ diabloevagto:你這些不能寫一個ctor嗎?我看你的好像不同的 04/24 21:52
→ firejox:假如改變對應函數寫法的話可以更精簡 04/24 21:54
→ diabloevagto:程式碼都只有CMainDlg不同,能夠當作傳進ctor的參數 04/24 21:54
→ firejox:#define Happy_init(a) do{...}while(0) 04/24 21:55
→ firejox:更正 Happy_init(a,b) 04/24 21:56
→ diabloevagto:這在編譯時期就知道數量才能用了0.0 04/24 21:57
推 stupid0319:很好奇為什麼&CMainDlg::OnSent1之類的不寫在class內? 04/24 22:03
→ linotwo:#define HAPPYATTACH(_HAPPY,_EVENT,_FUNC) \ 04/24 22:03
→ stupid0319:不太像是物件導向了,那直接寫C就好了 04/24 22:03
→ linotwo:_HAPPY->On##_EVENT.Attach<CMainDlg> \ 04/24 22:04
→ linotwo:(this, &CMainDlg::_FUNC) 04/24 22:04
→ linotwo:EX: HAPPYATTACH(cv_veryhappy1,Sent,OnSent1); 04/24 22:04
推 stupid0319:OnSent,OnReceive等不能在new Happy()時初始化嗎? 04/24 22:06
→ linotwo:回樓上,可以。不過有時可能在runtime須要detach或attach 04/24 22:11
→ s3748679:阿.. 容我修正一下... 04/24 23:05
→ s3748679:這樣應該就有辦法在觸發事件的當下,知道是哪個Happy了 04/24 23:24
→ linotwo:收到Event時不知道是哪個Happy,只知道是哪個hander 04/25 00:35
→ linotwo:的寫法。 04/25 00:35
→ don750421:請問一下,如果使用MultiThread的方式會不會比較好寫? 04/25 23:04
→ don750421:因為剛接觸C++兩個月,如果用到多執行緒,怕會很難下手 04/25 23:06
→ don750421:因為連樓上各位大大的用法有些都看不太懂了@@ 04/25 23:07
→ linotwo:如果要用多執行緒的話,要注意執行緒之間資源共用的問題, 04/26 00:08
→ linotwo:還有呼叫的function是不是Multithread-Safe。 04/26 00:09
→ linotwo:如果沒有需要在背景執行的工作,用single thread比較好寫 04/26 00:15
→ don750421:我的想法是,當PC傳送或接收訊息給Host1的同時, 04/26 00:20
→ don750421:有可能PC會接收到Host2的訊息,更有可能要對接收到的訊 04/26 00:21
→ don750421:息做處理(ex.在螢幕上顯示..等),那這樣是否需要用到 04/26 00:21
→ don750421:Multithread呢? 04/26 00:22
→ linotwo:可能會有三條thread,分別接收、處理跟發送。 04/26 00:29
→ linotwo:兩個訊息佇列,一個放接收到的訊息,另一個則放要送出的。 04/26 00:31