| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 619 人关注过本帖
标题:"下标越界"问题求助~~~
只看楼主 加入收藏
fanmj
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-2-1
收藏
 问题点数:0 回复次数:0 
"下标越界"问题求助~~~
通过Winsock控件从以太网上接收数据,rxdlc为接收的数据长度(从数据桢中第4至第7字节中获得).
问题:一运行,开始接收,就报错,说下标越界.从监控窗口显示只接收了536个字节,但实际有上千个字节.
为什么不能全部接收,而只能接收536个呢???

Private Sub Winsock2_DataArrival(ByVal bytesTotal As Long)
   
    Dim buff As Variant
    Dim i As Long
    Dim rxdlc As Long
    Dim ff1 As Byte  'ff为第4字节(表示数据长度)
    Dim ff2 As Byte  'ff为第5字节(表示数据长度)
    Dim ff3 As Byte  'ff为第6字节(表示数据长度)
    Dim ff4 As Byte  'ff为第7字节(表示数据长度)
    Dim RE() As Byte
    Dim Ti As String
   
    Winsock2.GetData buff   '接收数据
   
    RE = buff  '将buff中的内容即输入缓冲区的内容读入RE
   
    ff1 = RE(4)   '将RE的第4字节读入ff1
    ff2 = RE(5)   '将RE的第5字节读入ff2
    ff3 = RE(6)   '将RE的第6字节读入ff3
    ff4 = RE(7)   '将RE的第7字节读入ff4
   
    Text3.Text = ff1
    Text4.Text = ff2
    Text5.Text = ff3
    Text6.Text = ff4
   
    rxdlc = ff4 + (ff3 * 256)   + (ff2 * 256 * 256) + (ff1 * 256 * 256 * 256)
    Text7.Text = rxdlc
    'CStr函数:返回表达式,该表达式已被转换为 String 子类型的 Variant
    For i = 0 To rxdlc + 8  '装载数据
         Ti = Ti & " " & CStr(Hex(RE(i)))  '错误:下标越界
    Next i
        Text2.Text = Text2.Text & Ti & vbCr + vbLf 'vbCrLf为换行命令
   
End Sub
搜索更多相关主题的帖子: 越界 
2008-02-01 14:41
快速回复:"下标越界"问题求助~~~
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015898 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved