VBプログラマ質問スレ(Ver.6.0 まで) part57at TECHVBプログラマ質問スレ(Ver.6.0 まで) part57 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト943:デフォルトの名無しさん 12/01/13 05:47:47.09 x秒ごとに処理したいのにスレッドを止める必要ないでしょ だいたい処理が瞬間に終わるわけでもあるまいし。 インターバルを設定できるTimerってのがあるんだけど 944:デフォルトの名無しさん 12/01/13 07:19:27.57 VB6でマルチスレッドってActiveXを使うやり方? 945:デフォルトの名無しさん 12/01/13 08:53:01.02 できた Private cnt As Integer Private Sub Form_Load() cnt = 0 Timer1.Interval = 1000 End Sub Private Sub Timer1_Timer() cnt = cnt + 1 Label1.Caption = cnt If cnt Mod 3 = 0 Then Shell "notepad" '重い処理 End If End Sub 946:デフォルトの名無しさん 12/01/13 09:21:22.64 VBは1つのスレッドで、DoEventsによって並列処理を しているように見せているだけ。 Sleepしたらそのスレッドは止まるのだから、VBプログラムの全てが止まる。 DoEventsでそういうことをやっているとデッドロックしやすい。 DoEventsをSwitchToThreadを同じようなものだと思っていると痛い目を見る。 非同期処理したいのであれば、Timerを使うべき。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch