|
做这个烟厂的后台监控系统,ifix有些功能不具备,只好自己写一些activex控件,嵌入到ifix的画面里面。需要用到socket接受远方前置机发过来的soe信息,为udp开了一个线程,收到信息发给ifix,结果总是莫名的出现卡死和错误,开始以为是ifix的容器不好,后来发现,问题总是出在控件Fire事件的时候,突然想起来,套间线程来,activex是公寓线程,里面的子线程是要考虑线程安全的,是不能直接调用控件接口的,直接自定义了一个消息(子线程也可以实现,但是比较麻烦),由主线程触发事件,搞定!
默然觉得自己什么时候好像遇到过这个问题,opc,自己做opc server合客户端的时候遇到过这个问题,当时花了一天多的时候才查出来,看来还需要加强COM的理解。做好笔记啊,不然总是忘啊,范同样的错误。
|
|