投稿日 | : 2005/07/25(Mon) 15:57 |
投稿者 | : チロル |
Eメール | : |
URL | : |
タイトル | : Re^4: MSCommのOn_Comm受信 |
Private Sub ctlComm_OnComm()
' 受信データ マトリックス
Dim Buffer() As Byte
Dim strData As String
Dim bufLen As Integer
Dim i As Integer
Dim j As Integer
Dim bufTxt(0 To 2100) As Byte
Dim lenBufTxt As Integer
Dim check As Integer
Dim lenH As Byte
Dim lenL As Byte
Dim BCC As Byte
' データの有無確認
If ctlComm.CommEvent = comEvReceive Then
' 受信データをバッファへ格納
Buffer = ctlComm.Input
bufLen = UBound(Buffer)
Else
MsgBox "データがありません"
Exit Sub
End If
という形にしてみましたが、結果は変わりませんでした。
そして、今一つ発覚したのですが、
Private Sub ctlComm_OnComm() の部分でブレイクポイントを設定すると、期待通りのデータが取れま
す。
これは、
> RThreshold = 1ということは1Byte以上のデータを受信したとき(2バイトでも3バイトでも)にイベ
ント
が
> 発生
> します。(19バイト揃わなくても処理が走ってしまう。将来的にバグにならなければいいけど)
と関係しているのでしょうか?!