掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
timesetevent内でWinsockを使うには? (ID:126702)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
メッセージキューを持つスレッドでは待機にはSleepではなく MsgWaitForMultipleObjectsを使うようにしてください。 Private Declare Function MsgWaitForMultipleObjects Lib "user32.dll" _ (Optional ByVal Count As Long = 0&, _ Optional ByVal HandlesPointer As Long = 0&, _ Optional ByVal WaitAll As Long = 0&, _ Optional ByVal Milliseconds As Long = 0&, _ Optional ByVal WakeMask As Long = &HFF&) As Long Private Declare Function GetTickCount Lib "kernel32.dll" () As Long Dim iInterval As Long Dim iStart As Long iStart = GetTickCount() iInterval = 1000& Do If 0& = MsgWaitForMultipleObjects(, , , iInterval) _ Then DoEvents iInterval = 1000& - GetTickCount() + iStart Loop While (iInterval >= 0&) メッセージキューを持たない、もしくは、メッセージを考慮しなくて いい場合であればSleepでも構いませんが、VB6はCOMベースなので、 知らないメッセージが沢山飛び交うものだと考えておくのが無難では。 それに、WinSockコントロールもまた特殊なメッセージを利用しますし。 # マルチスレッド云々の段階でWinSockコントロールを使うことは # ありえないとは思いますが。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.