|
做這個煙廠的后臺監控系統,ifix有些功能不具備,只好自己寫一些activex控件,嵌入到ifix的畫面里面。需要用到socket接受遠方前置機發過來的soe信息,為udp開了一個線程,收到信息發給ifix,結果總是莫名的出現卡死和錯誤,開始以為是ifix的容器不好,后來發現,問題總是出在控件Fire事件的時候,突然想起來,套間線程來,activex是公寓線程,里面的子線程是要考慮線程安全的,是不能直接調用控件接口的,直接自定義了一個消息(子線程也可以實現,但是比較麻煩),由主線程觸發事件,搞定!
默然覺得自己什么時候好像遇到過這個問題,opc,自己做opc server合客戶端的時候遇到過這個問題,當時花了一天多的時候才查出來,看來還需要加強COM的理解。做好筆記啊,不然總是忘啊,范同樣的錯誤。
|
|