タイマーの問題がある古いVB6アプリケーションがあります。いくつかの要素と2つのタイマー(VB6標準タイマー)を含むモーダル形式があります。各タイマーは次のように機能します(擬似コード):
-- TimerEvent Start
DoSomething
DoEvents
-- TimerEvent End
次に、ある時点で、接続が失われたというOCXコントロールからのイベントが発生します。タイマー自体とは何の関係もありません。しかし、この時点では、タイマーイベントは両方のタイマーで発生しなくなりましたが、タイマーは有効になっていて、2000の間隔が設定されています。間隔を再度有効にして再設定しても、効果はありません。接続が復元されたという同じOCXコントロールからの別のイベントが発生すると、タイマーイベントが突然再び発生します。OCXコントロールイベントハンドラーのすべてのコードを削除しても、タイマーは機能しません。
私はDoEventsの「パターン」にあまり精通していませんが、問題はDoEventsに関連している必要があると思います。これを削除しても何も変わりませんでした。
ここで何が起こるか考えている人はいますか?タイマーが経過イベントを発生させないようにするグローバル設定をすでに探しましたが、神のために見つけることができませんでした。
私はこれに夢中になる...
助けてくれてありがとう。