2012-09-18 16 views
0

在我當前的代碼我等待一些事件中使用類似我可以等待QP(Quantum Platform)活動對象中的Windows事件(WaitForMultipleObjects)嗎?

WaitForMultipleObjects(2,pEvents,false,1000); 
s中單獨的線程和後東西

每當我得到的事件值得張貼到發生狀態機。我將這種行爲移植到QP中,據我瞭解,每個活動對象都是它自己的線程。因此,我是否可以在Active對象中以無限循環(有一些終止中斷條件)執行此操作?

據我所知,QP正在等待windows下的事件,有沒有一個技巧來檢索窗口事件的句柄代表我當前的活動對象隊列,並等待它,以及我的線程(活動對象)阻止我的(非QP)事件,並且如果某些其他對象發佈到我的隊列中,則會激活該事件?

+0

我可以創建第二個活動對象作爲代理,將所有QP事件中繼到我的第一個活動對象,併發送一個windows事件解除阻塞我的第一個活動對象。這看起來像是一種黑客。 – odinthenerd

回答

0

如果有人有興趣,我發現我正在尋找。 QActive的成員m_osObject是輸入隊列爲空時等待事件的句柄。

請注意,我只在QP的Windows端口上測試過,並且據我所知,它不能與任何其他端口一起工作。

相關問題