200分求助,在线结贴,ActiveX控件的窗口句柄被Detach了,导致不能正常使用该控件。

jackwuwei 2005-06-09 05:36:38
使用Flash的ActiveX控件时,创建CShockwaveFlash对象,指定的父窗口为另外一个动态库创建,创建成功后,Flash控件的句柄被COleControlContainer给DetachWindow了,无法正常播放Flash文件,但我指定一个非动态库创建的窗口就正常,注意Flash的ActiveX控件也是在动态库里创建的,谁遇到类似的问题,请不吝赐教,解决了200分全给一个人
...全文
121 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sinall 2005-06-11
  • 打赏
  • 举报
回复
楼主应该给出更详细的描述。

可能需要注意对象的生存期。
yeyuboy 2005-06-11
  • 打赏
  • 举报
回复
有没有可能是对象被复制了,副本销毁时窗口句柄也被关闭,另外,MFC窗口是线程相关的,在线程间传HWND句柄,再在接收句柄的线程调用窗口类的FromHandle创建回窗口类。
qrlvls 2005-06-10
  • 打赏
  • 举报
回复
估计是COM库和OLE没有初始化的原因
qrlvls 2005-06-10
  • 打赏
  • 举报
回复
动态库中有否 AfxOleInit 或 ::CoInitialize(NULL);
jackwuwei 2005-06-10
  • 打赏
  • 举报
回复
我在主程序里调用了CoInitialize(NULL);也在创建Flash控件的动态库里调用了,但还是不行,奇怪的是Flash控件能够正常创建,在调用Play时,窗口句柄还在,但不知道什么时候被Detach了,是COleContainer的析构函数被调用了,但跟到这个地方,就跟不出什么了。
jackwuwei 2005-06-10
  • 打赏
  • 举报
回复
没人,再顶一下
wangweixing2000 2005-06-10
  • 打赏
  • 举报
回复
把你动态创建窗口和动态创建flash控件的代码贴出来看看!
jackwuwei 2005-06-09
  • 打赏
  • 举报
回复
自己顶一下

3,245

社区成员

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

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