有一定挑战性:vb调用自带线程activex控件问题

shanhe 2003-08-15 05:53:17
我写了一个控件,VC调用厂商DLL,其中在activex中我自写了一个工作线程用于监听外设,判断数据后触发activex事件发生。结果:
1、发现事件可以在vb程序中触发,也可以写一些代码,但是不能够设置断点,设置断点就会崩溃。如果写代码,可以顺利执行。

2、我改写成服务调用activex,但是还是更麻烦的是这个线程根本就没有触发事件,我可以肯定外部设备有数据进入,但是无法确定线程是否启动,或者启动了,但肯定没有触发事件。

我怀疑是VB的核心代码本身不支持这类多线程,但的确不知如何处理这个问题,高手请给出思路。
...全文
20 5 打赏 收藏 举报
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
shanhe 2003-08-19
up
  • 打赏
  • 举报
回复
shanhe 2003-08-18
自己up,不见人影。
  • 打赏
  • 举报
回复
shanhe 2003-08-17
我也怀疑是套间问题,但是我不能够理解为什么写成桌面应用就可以,但是写成一个带GUI的NT service就会无法出发线程?
  • 打赏
  • 举报
回复
Analyst 2003-08-16
要在COM里使用多线程就要很好的理解COM的线程模型,明白在各种apartment之间传递COM对象的规则,否则肯定要出错。
  • 打赏
  • 举报
回复
shanhe 2003-08-16
哎,真是遗憾,半天没人顶,自己顶顶。
我换用非工作线程,采用ontimer来实现就顺利解决了,但我不知道内部的原因,隐约觉得是VB的线程模式问题,但无法解释,希望高手能够讨论,指点一、二
  • 打赏
  • 举报
回复
发帖
ATL

3233

社区成员

ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
帖子事件
创建了帖子
2003-08-15 05:53
社区公告
暂无公告