VB程序的MSComm1_OnComm()出现子程序或函数未定义

Private Sub MSComm1_OnComm()
Dim q As Integer
Dim b() As Byte
Dim y As String
Select Case MSComm1.CommEvent
Case comEvReceive
MSComm1.InputLen = 0
b() = MSComm1.Input
For q = 0 To UBound(b)
If Len(b(q)) = 1 Then
y = y & "0" & Hex(b(q)) & ""
Else
y = y & Hex(b(q)) & ""
End If
TextReceive , Text = y
MSComm1.PorOpen = False
Next
End Select
End Sub

第1个回答  2019-06-28
在发送数据时定义一个结束标志,接收时按照这个标志进行区分发送的次数. 就像协议一样,这是自定义的协议,比如回车符号,比如一串特殊的长字串等等,都可以作为发送方和接收方同时的约定. 没有,都是这样做的.包括tcp/ip协议也是用的类似的方法,只不过tcp/ip协议加上了数据校验,数据分离,数据合并等等众多算法. 可以啊,但是需要加一些特定的byte,这些特定的byte是在数据传输中不会出现的. 比如你需要传输ABCDE这几个字符,那你单单用A作为标志性符号就容易和数据重复.
第2个回答  2019-06-28
Private 限定的函数属于内部函数,不能外部调用。改成Public试试。看函数名称,也可能是某个事件的响应函数,一般这样的函数是有特定的参数传递的。本回答被网友采纳
相似回答