質問
私は長期のプロセスVB6したい仕上がりを実行する前に、次のコンポーネントです。する方法を教えてください。内蔵機能しているのでしょうか。コントロールできま期間については、どのような待つのでしょうか?
些細な事例:
Call ExternalLongRunningProcess
Call DoOtherStuff
い遅延'DoOtherStuff'?
解決
VB.Net:混雑して待たされること、 WaitOne イベント。
VB6.0:私は見たことがDoEvents Loopです。
Do
If isSomeCheckCondition() Then Exit Do
DoEvents
Loop
最後に、すぐ眠り:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
Sleep 10000
他のヒント
がNescioの 答え (DoEventsままなアプリケーションを使用して100%のCPUを搭載しています。睡眠のUIに応じ.必要なものを組み合わせは、魔法の組み合わせということを最大限に高は:
Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
While IsStillWaitingForSomething()
DoEvents
DoEvents
Sleep(55)
Wend
なぜ二DoEvents、睡眠のための55ミリ秒?睡眠の55ミリ秒単位の最小のスライスとVB6に対応でき、二つのDoEventsが必要な場合でスーパー対応が必要なのAPIは、そのまま適用する対応以外のイベントSendMessage,Interuptsします。
休憩コードに2つのプロセス。を実行し、次に自分の"ロングプロセス"を作成し、そこに第二工程です。
お客様のニープロセスの中の現在のプロセスを待つのです。
いることができ追加。netフレームワークsystem.dll あるプロジェクト参照できるようになっていただこ
Dim ALongTime As Integer = 2000
System.Threading.Thread.Sleep(ALongTime)
---毎す。していまVB6、VB.net 2008マ、難しいので、いつも私にとって"を切り替えることが非常に異なるIDEです。
System.Threading.Thread.Sleep(500)
所属していません StackOverflow