お世話になります。
GetTickCountの使い方がいまひとつわかりません。
Dim SrtTime As Long
Dim EndTime As Long
CapTime = 60000
Do While (EndTime - SrtTime) < CapTime
EndTime = GetTickCount() ーーーーーーーー>①
Loop
これを実行すると①を1回しか通らず
Loopを抜けて(EndTime - SrtTime)の値を見るととても大きな数字が入って
います。
原因わかる方、診断願います。
Dim SrtTime As Long
Dim EndTime As Long
CapTime = 60000
SrtTime = GetTickCount() ーーーーーーーー>追加
Do While (EndTime - SrtTime) < CapTime
EndTime = GetTickCount()
Loop
こういう事?
うなまな さん、ありがとうございます。
>こういう事?
そういう事です。
ただ、できませんでした。前回のコード同様Do While 〜 Loopを1回しか
通りませんでした。
どういう事なのか…開発環境はVB2005です。
GetTickCount の宣言で戻り値の型は何で宣言していますか?
特攻隊長まるるうさん、ありがとうございます。
宣言は
Public Class Form1
Inherits System.Windows.Forms.Form
Public Declare Function GetTickCount Lib "KERNEL32" () As Long
Long型ですね。
ただこの文もネットでの引用ですので不安ではあります。
[VB.NET]以降、32ビットの数値型は Integer となりました。
Integer に変更してください。
以下のサイトの4章に一通り目を通してください。
[Visual Basic 6.0 ユーザーのための Visual Basic .NET 移行ガイド]
http://www.microsoft.com/japan/msdn/net/vbtransitionguide/
VB2005だったんだ・・・
じゃぁ、こんな方法もありますよ。
Dim stp As Stopwatch = Stopwatch.StartNew
While stp.ElapsedMilliseconds < 1000
Application.DoEvents()
End While
特攻隊長まるるうさん、うなまなさん、ありがとうございます。
解決しました。
自分に宣言はVB6.0のだったんですね。
整数型に関する変更点は肝に銘じておきます。
ツイート | ![]() |