无效的过程调用或参数

时间:2013-11-22 07:21:48

标签: asp-classic vbscript

我遇到以下错误:

Microsoft VBScript runtime error '800a0005' 
Invalid procedure call or argument: 'left' 
/scheduler/App.asp, line 16 

该行是:

point1 = left(point0,i-1)

此代码在另一台服务器上运行良好,但现在在另一台服务器上显示此错误。我猜它可能与系统或IIS设置有关,或者可能是其他东西,但它与代码无关(因为它在另一台服务器上工作正常)。

2 个答案:

答案 0 :(得分:5)

如果i等于零,则会调用Left() -1作为length参数。这将导致Invalid procedure call or argument错误。验证i >= 0

答案 1 :(得分:0)

我自己也遇到过这个问题 - 一个无缝运行了几个月的脚本突然崩溃了,出现了这个错误。似乎脚本引擎无论出于何种原因都会自行崩溃,字符串函数不再能够处理函数内计算。

我很感激,自从提出这个问题以来已经有一段时间了,但如果有人在将来遇到这个问题......

替换

point1 = left(point0, i-1)

j = i-1
point1 = left(point0, j)

......它会起作用。

或者,只需重新启动服务器(不幸的是,只需重新启动WWW服务就不会修复它)。