質問

私は長期のプロセス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します。

するあらゆる側面を含んでいますが、殻を除処理が終了した:

ま呼び出し、外部プロセスでは、呼び出しで非同期.をご参照の上MS文書などで外部の処理が完了します。

休憩コードに2つのプロセス。を実行し、次に自分の"ロングプロセス"を作成し、そこに第二工程です。

お客様のニープロセスの中の現在のプロセスを待つのです。

いることができ追加。netフレームワークsystem.dll あるプロジェクト参照できるようになっていただこ

Dim ALongTime As Integer = 2000
System.Threading.Thread.Sleep(ALongTime)

---毎す。していまVB6、VB.net 2008マ、難しいので、いつも私にとって"を切り替えることが非常に異なるIDEです。

System.Threading.Thread.Sleep(500)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top