我有一个有计时器问题的旧 VB6 应用程序。有一个模态表单,其中包含一些元素和两个计时器(VB6 标准计时器)。每个计时器都是这样工作的(伪代码):
-- TimerEvent Start
DoSomething
DoEvents
-- TimerEvent End
然后,在某个时间点,会引发来自 OCX 控件的某个连接丢失的事件。与计时器本身无关。但是此时,两个计时器都不再引发计时器事件,尽管 - 现在很奇怪 - 计时器已启用并设置了 2000 的间隔。即使重新启用和重新设置间隔也没有任何效果。当来自同一 OCX 控件的另一个事件引发连接已恢复时,计时器事件会突然再次引发。即使删除 OCX 控件事件处理程序中的所有代码,计时器也不起作用。
我对 DoEvents “模式”不是很熟悉,但我认为这个问题一定与 DoEvents 有关。删除它并没有改变任何东西。
有谁知道这里会发生什么?我已经在寻找任何可以阻止计时器引发已逝事件的全局设置,但看在上帝的份上,我找不到任何设置。
我要疯了……
感谢您的任何帮助。