日期:2014-05-16  浏览次数:20922 次

数组下越界
Microsoft VBScript 运行时错误 错误 '800a0009'

下标越界: 'Rand(...)'

/admin_code.asp,行 76
  出现这个问题,程序的代码为
Title1 = Titleline(Rand(0,ubound(Titleline)))
这个问题这么解决?看到别人是说直接用一个判断如何做?
我和奇怪的是,我本地的2003运行没有出现这个问题,但是在网站上运行就出现了这个问题。
我试了我两个站。
  一个可以正常,一个不正常,求解。
------解决方案--------------------
下标越界: 'Rand(...)'
Title1 = Titleline(Rand(0,ubound(Titleline)))

这种提示已经很确定了,就是对应你这个二维数组Rand(0,ubound(Titleline))的元素不存在。

改成
Title1 = Titleline(Rand(Lbound(Titleline),ubound(Titleline)))
看看。

其实我觉得奇怪的是,你这个Rand看名字和在这一行中的位置,应该是一个函数,返回参数1到参数2之间的一个随机数。这样的话,按说不应该出现这个提示,因为Rand不应该是一个数组。而现在它好像是一个数组。

我不知道你具体的编写背景和代码,可能是名称起得让人容易误会。