已有22人关注
请教:VB6.0的Winsock1_DataArrival函数中有一句总是报(实时错误'5',无效的过程调用和参数)
发表在VB答疑区 2016-05-03
是否精华
版块置顶:
老师您好,这是我在Winsock1_DataArrival(ByVal bytesTotal As Long)函数中写的三段数据串处理函数,三段函数的格式一样,但是第一段中的一句经常报错,总是报实时错误5(有时一运行就报错,有时运行一段时间报错,个人感觉函数好像正确,请大师指点问题出在哪里,怎么改)

'数据到达事件函数
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim s As String
Dim n As Integer
Dim m As Integer
Dim j As Integer
Dim k As Integer


     Winsock1.GetData s
     
     'transmit_CANEthernet
     If bytesTotal = 22 And Asc(Mid$(s, 2, 1)) = &H3 Then
     Text7.Text = Asc(Mid$(s, 22, 1))[font color=#FF0000]'此语句总是报实时错误5[/font]
     For m = 1 To 10
     b(m) = Asc(Mid$(s, m + 2, 1))
     Text3.Text = b(1) * 128 + b(2)
     If m > 2 Then
     Text6(m - 3).Text = b(m)
     End If
     Next
     End If
     
     'transmit_DIDOEthernet
     If bytesTotal = 24 And Asc(Mid$(s, 2, 1)) = &H1 Then
     Text53.Text = Asc(Mid$(s, 24, 1))
     For j = 1 To 22
     b(j) = Asc(Mid$(s, j + 2, 1))
     Text1.Text = b(1) * 128 + b(2)
     If j > 2 Then
     Text4(j - 3).Text = b(j)
     End If
     Next
     End If
     
     'transmit_AIAOEthernet
     If bytesTotal = 44 And Asc(Mid$(s, 2, 1)) = &H4 Then
     Text52.Text = Asc(Mid$(s, 44, 1))
     For n = 1 To 42
     b(n) = Asc(Mid$(s, n + 2, 1))
     Text2.Text = b(1) * 128 + b(2)
     Next
     For k = 0 To 19
     Text5(k).Text = b(2 * k + 3) * 128 + b(2 * k + 4)
     Next
     End If
分享到:
精彩评论 1
淡.印象
学分:323 LV5
TA的每日心情
学习Python
2020-11-23 22:17:24
2016-05-06
沙发
读者您好:

您的程序我这边运行没有运行结果,建议设置断点逐语句调试下,看下S的值
首页上一页 1 下一页尾页 1 条记录 1/1页
手机同步功能介绍
友情提示:以下图书配套资源能够实现手机同步功能
明日微信公众号
明日之星 明日之星编程特训营
客服热线(每日9:00-17:00)
400 675 1066
mingrisoft@mingrisoft.com
吉林省明日科技有限公司Copyright ©2007-2022,mingrisoft.com, All Rights Reserved长春市北湖科技开发区盛北大街3333号长春北湖科技园项目一期A10号楼四、五层
吉ICP备10002740号-2吉公网安备22010202000132经营性网站备案信息 营业执照