索引超出数组界限

andymdj 2012-03-19 11:06:38
Dim SendData(3) As Byte
Dim ReceiveData(255) As Byte
Dim i As Integer


If AxMSComm1.PortOpen = True Then
'On Error GoTo ErrorHandler
SendData(0) = &H84
SendData(1) = &H1E
SendData(2) = &HCC
SendData(3) = &H91
AxMSComm1.Output = SendData
AxMSComm1.InBufferCount = 0 '清空接收缓冲区
AxMSComm1.InputLen = 2
'AxMSComm1.RThreshold = 1
ReceiveData = AxMSComm1.Input

If ReceiveData(0) = &HF1 Then -----这里为什么报索引超出数组界限的错误
...全文
102 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
music_0000 2012-03-22
  • 打赏
  • 举报
回复
4楼是对的
l_g_guo 2012-03-19
  • 打赏
  • 举报
回复
问题应该在这句上:
ReceiveData = AxMSComm1.Input

检查AxMSComm1.Input里面有什么东东,是否为数组?


JianDom 2012-03-19
  • 打赏
  • 举报
回复
ReceiveData = AxMSComm1.Input
ReceiveData已重新赋值,AxMSComm1.Input这里可能为空
porschev 2012-03-19
  • 打赏
  • 举报
回复

看看ReceiveData里是什么
bdmh 2012-03-19
  • 打赏
  • 举报
回复
断点,看看ReceiveData有没有数据
EnForGrass 2012-03-19
  • 打赏
  • 举报
回复
[Quote=引用楼主 andymdj 的回复:]
Dim SendData(3) As Byte
Dim ReceiveData(255) As Byte
Dim i As Integer


If AxMSComm1.PortOpen = True Then
'On Error GoTo ErrorHandler
Sen……
[/Quote]
看不出来,自己仔细调试
jane_zhao 2012-03-19
  • 打赏
  • 举报
回复
在取ReceiveData(0)时,应判断是否为nothing,
If ReceiveData isnot nothing andalso ReceiveData(0) = &HF1 Then

16,555

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧