お世話になります。VB6で開発しています。Timerの Interval 値に、6000(つまり1分)を設定したらうまくいくのに、1分6秒以上を設定するとプロパティエラーになります。これを解決する方法はあるのでしょうか?やりたいことは、Intervalで設定した値秒後に、他のプロセスを起動したいということなのですが。
例えばIntervalを1000に設定しておいて2分後に起動なら
120回目のTimerイベントで処理すればいいことですね。
そうですね。私もそれは考えましたが、「〜分後に」というのが可変のため、Interval値にその値をそのまま設定すればいいかなーと思っていたのですが、やはり無理ということでしょうか?
以下ヘルプより抜粋。
>Interval プロパティ
>設定値
>設定値のデータ型は、長整数型 (Long) です。
>最長の設定である 65,535 ミリ秒は 1 分間よりも少し長い時間間隔になります。
Long の範囲を超える値は設定できません。
確かヘルプにタイマーコントロールのインターバル最大値は
65535ミリ秒(1分ちょい)が最大との表記があった気がしますが
確認してください
↓調べる方法
画面に配置したタイマーコントロールクリックしてF1キーを押す
プロパティをクリックしIntervalを調べる
かぶった・・・(^^;
> やはり無理ということでしょうか?
だからできるって…
そうですか。ありがとうございます。プログラムを修正します。葉月αさん、調べる方法も教えていただいてありがとうございます。勉強になりました。
'これで出来る。と良いのですが。
'Timer1.Interval値は1000
'タイマーイベントの回数は変数を使ってもいいと思います。
'下の例では約二分後にMsgBoxが表示されます。
Option Explicit
Private lngTimerCount As Long
Private lngIntervalCount As Long
Private Sub Command1_Click()
lngIntervalCount = 120 'タイマーイベントの回数を設定。例:120秒
Timer1.Interval = 1000 'Interval値を設定
Timer1.Enabled = True
End Sub
Private Sub Timer1_Timer()
If lngTimerCount >= lngIntervalCount Then
Timer1.Enabled = False 'タイマーの停止
lngTimerCount = 0 'タイマーイベントの回数を初期化
MsgBox "他のプロセスを起動"
Else
lngTimerCount = lngTimerCount + 1
Exit Sub
End If
End Sub
ツイート | ![]() |