vb下标越界,该如何解决
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返回的是否为空串,如果是空串当然为出错。
------解决方案--------------------
设置断点,跟踪各变量的值~~~,看到底是哪里出错了~~~
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返回的是否为空串,如果是空串当然为出错。
------解决方案--------------------
设置断点,跟踪各变量的值~~~,看到底是哪里出错了~~~