タイトル : 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イベントを抜ける。 とでもするのが良いかもしれません。 |