多个OCX同时调用的异常现象?高手帮忙!

ruixi 2007-05-13 11:52:29
我用MFC ActiveX ControlWizard 生成了一个OCX。在测试程序中加载了两个OCX,一个为OCX1,OCX2。我分别调用了OCX1.Init(0)方法和OCX2.Init(1)方法。却发现OCX2.Init(1)把原来OCX1.Init(0)初始化的值全改掉了。它们怎么会混到一起,不同的OCX应该在不同的线程里面呀,是不是在生成OCX的时候有什么选项?该如何做?请详细描述。
...全文
221 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
laowang2 2008-10-18
  • 打赏
  • 举报
回复
upup
ruixi 2007-05-17
  • 打赏
  • 举报
回复
恩。看来只有改写了,在一个OCX里面实现多路控制。多谢各位老大!
wshcdr 2007-05-14
  • 打赏
  • 举报
回复
自己去实现OCX的线程安全...
ruixi 2007-05-13
  • 打赏
  • 举报
回复
因为程序里面底层部分都是用C写的。有很多全局变量和回调函数。如果要改的话工作量太大了。有没有其他的办法?
ruixi 2007-05-13
  • 打赏
  • 举报
回复
是的。里面有用到全局变量和静态变量。难道不行?
DentistryDoctor 2007-05-13
  • 打赏
  • 举报
回复
是不是用了全局的或静态的东西?
蒋晟 2007-05-13
  • 打赏
  • 举报
回复
只有改写了
CathySun118 2007-05-13
  • 打赏
  • 举报
回复
lz,首先理解全局变量和静态变量的作用域和生命周期,
你这种情况很难解决了,看看把Init的功能封装起来,在需要的时候再调用如何

3,245

社区成员

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

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