数据下发过快导致接收数据出错软件使用中发现如果数据接收太快就会出现 实时错误 “9”下标越界的问题。Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)Dim strHex() As Byte
Dim i As IntegerIf bytesTotal > 1500 Then
bytesTotal = 1500
End IfReDim strHex(bytesTotal - 1)
Winsock1.GetData strHex, vbArray + vbByte, bytesTotaltext1.Text = text1.Text & vbCrLf
For i = 0 To bytesTotal - 1
text1.Text = text1.Text & strHex(i) 'strHex(i) 出现下标越界
Debug.Print "接受数据" & strHex(i) 'strHex(i) 出现下标越界
Next........
End Subtext1.Text = text1.Text & strHex(i) 'strHex(i) 出现下标越界
Debug.Print "接受数据" & strHex(i) 'strHex(i) 出现下标越界
屏蔽任何其中任何一句都有错误
屏蔽这两句就可以了!即使接受数据不快长时间使用text1.Text = text1.Text & strHex(i) 也会出现上述错误
Debug.Print:打印是调试很有必要的手段,请问如何可以优化一下代码,避免错误发生。
谢谢!
Dim i As IntegerIf bytesTotal > 1500 Then
bytesTotal = 1500
End IfReDim strHex(bytesTotal - 1)
Winsock1.GetData strHex, vbArray + vbByte, bytesTotaltext1.Text = text1.Text & vbCrLf
For i = 0 To bytesTotal - 1
text1.Text = text1.Text & strHex(i) 'strHex(i) 出现下标越界
Debug.Print "接受数据" & strHex(i) 'strHex(i) 出现下标越界
Next........
End Subtext1.Text = text1.Text & strHex(i) 'strHex(i) 出现下标越界
Debug.Print "接受数据" & strHex(i) 'strHex(i) 出现下标越界
屏蔽任何其中任何一句都有错误
屏蔽这两句就可以了!即使接受数据不快长时间使用text1.Text = text1.Text & strHex(i) 也会出现上述错误
Debug.Print:打印是调试很有必要的手段,请问如何可以优化一下代码,避免错误发生。
谢谢!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货