電子書籍の厳選無料作品が豊富!

どうもこんにちは。よろしくお願いします。

ログイン画面が表示され、IDとパスを入力し、ログインする~画面があるのですが、ログイン後の画面に更新がある場合、ログイン画面に赤い文字で点滅~という処理を行っています。

しかし、その点滅の最中にログインの処理が行われてしまうと、ログイン後の画面は普通に出てくるが、ログイン画面が再び表示されてしまう。ということが。。。



Do
NextTime = GetTickCount

i = i + 1

If i Mod 2 = 0 Then
lblBBS.ForeColor = vbRed
j = j + 1
ElseIf i Mod 2 = 1 Then
lblBBS.ForeColor = &H8000000F
End If
'200ミリ秒のウェイト
NextTime = NextTime + 400

If i = 10000 Then Exit Do 'i = 0
If NextTime = 10000 Then Exit Do 'NextTime = 0
If j = 5 Then Exit Do
Do
DoEvents
Loop While GetTickCount < NextTime
Loop

該当のところは、一番したあたりだと思うのですが、
DoEventsがヘルプを読んでもイマイチどのような物かわからず、どうすればいいのかもわからず。。。

「ログインボタンが押されたらDoExit」みたいな感じで。。。
回避できるでしょうかね???

アドバイスよろしくお願いします。

A 回答 (1件)

全体のロジックがわからないので、局所的なアドバイスですけど、


Do
DoEvents
Loop While GetTickCount < NextTime
の部分で、ログイン処理が正常に行われた時に
LOGON = TRUE などをログイン処理の方でセットするようにして
Do
DoEvents
If LOGON Then '外側のループ脱出条件のセットしてループ脱出
j=5
Exit Do
End If
Loop While GetTickCount < NextTime
とかにしたらどうでしょう
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!