Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim mystr As String
Winsock1.GetData mystr
Dim ip As String
Dim qqnum As String
Dim arr() As String
Dim state As String
arr = Split(mystr, "*####*,*####*", -1, vbTextCompare)
ip = arr(0)
qqnum = arr(1) //就是這里出現下標越界
state = arr(2)
cnn.Execute "update tb_state set 在線狀態=" & state & ",IP='" & ip & "' where 聊天號碼='" & qqnum & "'"
End Sub
代碼出現實時錯誤‘9’下標越界
請各路大神看看,求解答為什么會出現錯誤 這里不是沒有宣告陣列arr的大小嗎?
uj5u.com熱心網友回復:
單步跟蹤一下,在arr = Split(mystr, "*####*,*####*", -1, vbTextCompare)這兒設定一個斷點。你看看mystr 的內容,應該是不包含 "*####*,*####*" 這個字串的。
因此 Split( ) 之后,arr陣列只有一個元素 arr(0),你再訪問其它下標,肯定就越界了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/96695.html
標籤:網絡編程
