お世話になります。ご教授お願いします。
開発環境VB6.0 WinXPとなります。
シリアルRS232のバーコードでデータを読み取りたいのですが、データが途中から読み取ってしまうことがあるのですが、なぜなのでしょうか。
Private Sub MSComm_OnComm()
If MSComm.CommEvent = comEvReceive Then
If MSComm.InBufferCount > 0 Then
Dummy = MSComm1.Input
Dummy = Trim(Dummy)
BRsyori Dummy 'データ表示
End If
End If
End Sub
設定はMSComm.Settings = "38400,E,7,2" MSComm.RTSEnable = True MSComm.RThreshold = 1となっています。いろいろと設定を変えてみたのですがだめでした。
以上、よろしくお願いします。
MSComm.RThreshold = 1としてOnCommイベントでデーターを取得した場合、
データーを一文字でも受信するとデーターの受信中にもかかわらず、
OnCommイベントが起き、この時データーを読み取ると、たまたま受信バッファ
に有ったデーターを読み込むことになり、送られたデーターの全てを読み込める
保証はありません。
従って読み取ったデーターは適当なバッファに溜め込んで、プロトコルに
従ってデーターを切り出します。
ツイート | ![]() |