读书人

vb下标越界,该如何解决

发布时间: 2012-02-13 17:20:26 作者: rapoo

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返回的是否为空串,如果是空串当然为出错。

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

读书人网 >VB

热点推荐