• ベストアンサー

Timerイベントについて

ある処理を30秒おきに実行します。その結果が正常終了するまで繰り返します。正常終了すれば次の処理へ移ります。が、5分間正常終了しなければ次の処理に移るというロジックを考えているのですが、思いつきません。 現在、Timerコントロールを使用してます。TimerをONには出来ますが、処理が自動的に次の処理へ移ってしまう状況です。Timerイベントを走らせた後に結果が分かるまで処理を一時中断したいんです。どなたか助言をお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • honiyon
  • ベストアンサー率37% (331/872)
回答No.1

こんにちは、honiyonです。 フラグを使えば良いと思います。 グローバル変数を1つ用意します。(例:FLAG) ----タイマー内---- ~いろんな処理~ FLAG = 1 ----メイン内---- FLAG = 0 ~ここでFLAG=0の間ループする~ do DoEvents until (FLAG<>0) 最近VBは使ってないので命令語忘れてます(^^; 命令が違う、記述が誤ってるなどご容赦ください(.. 参考になれば幸いです(..

peugeot
質問者

お礼

ありがとうございます。この方法でうまく動きました。

その他の回答 (1)

  • taknt
  • ベストアンサー率19% (1556/7783)
回答No.2

タイマーイベントは、イベントが動いてる間は、割り込みが発生しないはずです。 つまり、実行中のイベントが 終わってから発生します。 あと フラグを設けて、そのフラグによって処理するかしないか判断したらいいでしょう。

peugeot
質問者

お礼

ありがとうございます。この方法でうまく行きました。

関連するQ&A