我写了一个控件,VC调用厂商DLL,其中在activex中我自写了一个工作线程用于监听外设,判断数据后触发activex事件发生。结果:
1、发现事件可以在vb程序中触发,也可以写一些代码,但是不能够设置断点,设置断点就会崩溃。如果写代码,可以顺利执行。2、我改写成服务调用activex,但是还是更麻烦的是这个线程根本就没有触发事件,我可以肯定外部设备有数据进入,但是无法确定线程是否启动,或者启动了,但肯定没有触发事件。我怀疑是VB的核心代码本身不支持这类多线程,但的确不知如何处理这个问题,高手请给出思路。
1、发现事件可以在vb程序中触发,也可以写一些代码,但是不能够设置断点,设置断点就会崩溃。如果写代码,可以顺利执行。2、我改写成服务调用activex,但是还是更麻烦的是这个线程根本就没有触发事件,我可以肯定外部设备有数据进入,但是无法确定线程是否启动,或者启动了,但肯定没有触发事件。我怀疑是VB的核心代码本身不支持这类多线程,但的确不知如何处理这个问题,高手请给出思路。
我换用非工作线程,采用ontimer来实现就顺利解决了,但我不知道内部的原因,隐约觉得是VB的线程模式问题,但无法解释,希望高手能够讨论,指点一、二