首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vb下标越界,该如何解决

2012-02-13 
vb下标越界Dim aRsLst() As StringDim aa() As VariantDim bb() As StringDim i As IntegerDim j As Integ

vb下标越界
Dim aRsLst() As String
  Dim aa() As Variant
  Dim bb() As String
  Dim i As Integer
  Dim j As Integer
  Dim k As Integer
  Dim m As Integer
  Dim sMsg As String
   
  Call writelog("getDBGInfo | START (para from aspx)")
   
  For m = 1 To 6
  sMsg = getWebInfo("sysmsg", "")
  If sMsg <> "error" Then
  aRsLst = Split(sMsg, "``")
  ReDim aRecLst(UBound(aRsLst, 1))

   
  Next

亲们, ReDim aRecLst(UBound(aRsLst, 1))这里报错了。有解决办法么

[解决办法]
你错误的使用了ReDim语句,当然报错
[解决办法]
ReDim aRecLst(UBound(aRsLst, 1))
UBound(aRsLst, 1)取aRsLst的上限(第一维,1可以省略,不过没看见定义aRsLst呀)
ReDim aRecLst(...)重新定义数组(还是没有看见定义aRecLst呀)

如果直接加上Option Explicit要求所有变量必须声明,估计自己也就能发现错误了
[解决办法]
sMsg返回值有问题。

检查sMsg返回的是否为空串,如果是空串当然为出错。

[解决办法]
设置断点,跟踪各变量的值~~~,看到底是哪里出错了~~~

热点排行