LingosHook:Memory Daily Preview
昨天Memory Daily功能應該說就OK了,但到現(xiàn)在才把它融合到LingosHook中,原因很簡單--沖突。雖然添加TriggerObject作為Adapter解耦各對象,但TriggerObject設計不周,缺少“被觸發(fā)事件”的來源數(shù)據(jù)等信息,導致有些地方觸發(fā)起來會產(chǎn)生沖突。簡單舉個例子,刪除一個單詞,那么在Index和在MemoryDaily對象中刪除應該觸發(fā)一樣的操作--在數(shù)據(jù)庫中、Tag、MemoryDaily對象、界面等中刪除。但由于不同對象刪除方式的不同,比如數(shù)據(jù)庫和某些對象刪除只需要ID,而在某些界面刪除卻需要Word本身,像ListBox對象。這樣就導致了沖突的發(fā)生,不得不寫兩個OnWordRemove()觸發(fā)函數(shù),而且其中調(diào)用的流程還不一樣,看起來非常不爽,再修改很容易犯錯誤的。想來,如果在觸發(fā)時,能傳遞更多的信息,比如“觸發(fā)源”等,這樣僅需要一個OnWordRemove(),并在其內(nèi)進行不同調(diào)用,應該就可以了。所以,TriggerObject中的函數(shù)修改一下可能比較好。

void OnWordRemove(int worid, const wxString& wordid);
----->
void OnWordRemove(int orig, int worid, const wxString& wordid);如果不是這個問題,今晚應該可以上傳的,但現(xiàn)在只能明天再說了,因為怎么也要自己run一下試試啊。。。OK,今天先來個劇透吧,只上圖,請各位猜猜MemoryDaily怎么用的,嘿嘿。。。


posted on 2010-04-01 00:28 codejie 閱讀(300) 評論(0) 編輯 收藏 引用 所屬分類: C++ 、輪子精神

