关于二维数组索引超出了数组界限

xmz4 2007-04-02 03:47:15
定义窗体级二维数组arr(76,1)
在function go()当中给arr赋值并返回arr值!
在打印子程序 sub print()中调用go(),运行程序执行prin(),第一次正常,再次执行print(),结果出现错误,“索引超出了数组界限”,于是在function go()的最后加入erase arr,两次执行print(),出现错误在arr(76,1)赋值时,“未将对象引用到实例”,于是在于是在function go()的erase arr后加入redim arr(76,1),结果出现,“索引超出了数组界限”!
超级郁闷!这问题该如何解决!
...全文
542 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
xmz4 2007-04-02
  • 打赏
  • 举报
回复
见鬼咯,又出问题咯
第一次打印后是二页
第二次打印变成咯四页,加了erase似乎也没用
xmz4 2007-04-02
  • 打赏
  • 举报
回复
结贴,给分!~~
neil_cn 2007-04-02
  • 打赏
  • 举报
回复
Dim arr(,) As String

...
...
...

Dim rowsCount As Integer = lvw.Items.Count
Dim i As Integer

ReDim arr( rowsCount, 1 )

For i = 0 To rowsCount - 1
arr(i, 0) = lvw.Items.Item(i).Text
arr(i, 1) = lvw.Items.Item(i).SubItems(1).Text
Next

试试
xmz4 2007-04-02
  • 打赏
  • 举报
回复
代码长了:
//窗体:
Dim arr(76, 1) As String
//在goes()中将listview中数据赋值给二维数组arr(76,1)
Public Function goes(ByVal Lvs As ListView, ByVal includeColumnText As Boolean)
Dim lvw As ListView = Lvs

Dim rowsCount As Integer = lvw.Items.Count
Dim i As Integer
For i = 0 To rowsCount - 1
arr(i, 0) = lvw.Items.Item(i).Text
Next
For i = 0 To rowsCount - 1
arr(i, 1) = lvw.Items.Item(i).SubItems(1).Text
Next
Return arr
End Function
在print()子程序中引用goes()
^……
body.DataSource = goes(listview1, True)
……
neil_cn 2007-04-02
  • 打赏
  • 举报
回复
第一次正常,再次执行print(),结果出现错误,“索引超出了数组界限”

那就查你的索引啊。。。

没有代码怎么分析嘛
xmz4 2007-04-02
  • 打赏
  • 举报
回复
请各位高手援助下!
xmz4 2007-04-02
  • 打赏
  • 举报
回复
具体说说如何实现?该接触.net,对vb.net 数组这块不是太熟悉!
yangaiyuan 2007-04-02
  • 打赏
  • 举报
回复
用arraylist 或其他类似的代替数组

16,553

社区成员

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

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