VB MSComm的奇怪问题
我用VB做了串口通信程序,接收的数据如果长为一则是握手信号或结束信号,长为21为数据信号,程序运行正常后,把里面的Msgbox语句删除,数据长度的检测就出错了,不知道为什么?代码如下:
Private Sub MSComm1_OnComm()
Dim Arr() As Byte
Select Case MSComm1.CommEvent
Case comEvReceive '...有接受事件发生
bufcount = MSComm1.InBufferCount
MsgBox (bufcount) '此句拿掉后则后面的Ubound(Arr)值不正确
Arr = MSComm1.Input
If ((UBound(Arr) <> 0) And (UBound(Arr) <> 21)) Then
MsgBox ("wrong...")
Exit Sub
程序运行时,如果发送的是握手或结束信号,则bufcount的值为,Ubound(arr)的值为0,如果数据信号,则Bufcount的值为8,Ubound(arr)的值为21,但如果将Msgbox去掉,则Ubound(arr)的值为7,不知道为什么?请高人指点!
[解决办法]