掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Timerイベントのフリーズ対策は? (ID:125994)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
えー、再現法は簡単、Listで無くてもLabelでもなる、 Private Sub Command1_Click() Me.Timer1.Interval = 2000 Timer1.Enabled = True End Sub Private Sub Timer1_Timer() Dim I As Integer For I = 1 To 10000 DoEvents Label1.Caption = "" & I Next End Sub とラベルを一つ追加して、ラベルの表示が1000になった時次のタイマーが ONになるまでフォームを動かすと、タイマーがONになったとたんに フォームのゴーストが出たまま、DoEventsを受け付けなくなるり、次の タイマーがONになるまで、フリーズ状態になる、ただしラベルは更新しつづける。 通常フォームを動かすと(タスクバーをクリックすると)、そのスレッドの動作は 止まるのだけれど、Timerだけは動いていて、割り込みがかかりTimerの中に 書かれた処理をし始める、そのときはDoEventsは受け付けない。 処理が重い軽いは関係ない、なんと無くTimerのBの字のような気がする。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.