com server中的子线程为什么调用出接口事件而client端收不到呢?而com server的主线程可以。急!!!

andyLe 2004-02-02 09:32:49
com server中的子线程为什么调用出接口事件而client端收不到呢?而com server的主线程可以。急!!!
...全文
24 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
jinliu 2004-02-02
  • 打赏
  • 举报
回复
我与你遇到同样的问题,不过我已经查明白原因了,但不知道如何解决。这涉及到在套间间列集指针的问题,如果你不是使用MTA来创建你的COM SERVER的话,那主线程是一个STA(对象一般在这个STA中创建),但你创建的其他线程不在这个主线程的STA中,所以不能直接使用指针来调用接口方法(好象调用不会报错,但不产生任何效果),要求你必须在“子”线程中进入一个STA(调用CoInitialize),然后在这两个STA间来列集指针(使用CoMarshalInterThreadInterfaceInStream)。
我现在的问题是,对于ATL生成的事件代CProxy_IControlEvents< CControl >,他的接口指针是什么,到底该列集什么,我想列集this,但行不通。
如果你解决了,通知我一声!

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧