我做了一个控件,有一段代码中使用了AfxBeginThread创建了线程,在这个线程之中调用Fire_XXXEvent后,网页上的javascript语句总是没被触发,而在这个线程之外的代码调用Fire_XXXEvent却可以触发。请问这可能是什么造成的呢?

解决方案 »

  1.   

    ActiveX 控件对于线程来说是有限制的,具体我也不清楚有什么好方法
    我的解决办法是在控件里放一个不显示的button之类的东西,并且自定义消息,并影射到该button上处理相应的消息,在线程里发消息到button就可以了如果有更好的方法请赐教
      

  2.   

    见帖子:
    http://community.csdn.net/Expert/TopicView3.asp?id=4315958
    引用tlg007() 的回答:连接点为出接口,在Client里只能是Apartment线程模型,就是说只能在创建了该连接点对象的线程中使用,不可以跨寓所,如果非要这样做则变通的方法是利用窗口消息
      

  3.   

    我查了MSDN,上面提供了两种方法,一种就是利用窗口消息,另一种不推荐,因为内部实现还是在利用窗口消息。