tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板
[ツリー表示へ]  [ワード検索]  [Home]

タイトル Re: GetDataとPeekData
投稿日: 2008/03/26(Wed) 16:40
投稿者K.J.K.
とりあえず来たデータを全て受け取っておく、というのならば、

> ということは<2>の処理に変更すると取りこぼしが発生してしまうのでしょうか?

ということはあまりないと思われます。PeekDataとGetDataの呼び出しの間にDoEvents
などがあれば別ですが。そうではなく、こちらの想定する1受信分だけをきっかりとる
というのならば、取りこぼしが生じる可能性はあります。

> 勘違いしている、あるいは前提条件がある、またはもっといい作り方がある等
> アドバイスいただけると助かります。

時間がかかる処理ならばTimerイベントプロシージャ中のが良いかも知れませんし、
そうでないのならば、DataArrivalイベントプロシージャ中で処理のが良いでしょう。

前者ならば、<1>の通りでしょう。但しPublic変数というよりはモジュールレベルの
変数にすべきでしょう。
後者ならば、<1>と<2>を組み合わせて、
<2改>
 ・モジュールレベルの変数を用意する。
  DataArrivalイベント内にてGetDataで取得しその変数に連結して格納する。
  その中で1受信分のデータの有無を調べて、もしあれば切り出して
  該当する処理をして、使った分のデータを捨てる。
  DataArrivalイベントを抜ける。
とでもするのが良いかもしれません。

- 関連一覧ツリー をクリックするとツリー全体を一括表示します)

古いスレッドにレスはつけられません。