Invalid_procedure_call_or_argument:_'chr' 解决方法

Microsoft VBScript runtime error '800a0005' - Invalid procedure call or argument:'Chr'  
最近发现有一个问题,就是很多人在是本地测试成功的程序,上传到美国服务器上后,发现后台的上传图片功能不行了,出现错误提示,如下(IIS日志): 
|75|800a0005|Invalid_procedure_call_or_argument:_'chr'

 当然了,除了上传图片功能不行之外,还有好多页面也出现类似的错误,但是仔细检查代码,没有发现代码错误,究竟是怎么回事呢?
以下就对Invalid procedure call or argument: Chr 错误做出解释,并提供解决方法给大家
出现这种错误的问题,主要原因空间放在英文系统下,而在英文系统下程序不能调用“Chr”函数导致的,只要将“chr”修改成“Chrw”就可以解决问题。


相关知识:
Chr 函数返回 String,其中包含有与指定的字符代码相关的字符 。
相关语法:Chr(charcode)
必要的 charcode 参数是一个用来识别某字符的 Long。

说明:
0 到 31 之间的数字与标准的非打印 ASCII 代码相同。例如,Chr(10) 可以返回换行字符。charcode 的正常范围为 0 – 255。然而,在 DBCS 系统,charcode 的实际范围为 -32768 到 65535。
注意:   ChrB 函数作用于包含在 String 中的字节数据。ChrB 总是返回一个单字节,而不是返回一个字符,一个字符可能是一个或两个字节。ChrW 函数返回包含 Unicode 的 String,若在不支持 Unicode 的平台上,则其功能与 Chr 函数相同。


另外一个情况是如下错误:
Microsoft VBScript runtime error '800a0005'
Invalid procedure call or argument: 'Chr'
Upload.asp, line 75
upload.asp 为无组件上传程序
出现如此错误可能是服务器用的是英文版本,因为Chr 函数返回 String,其中包含有与指定的字符代码相关的字符 。

相关语法:Chr(charcode)
必要的 charcode 参数是一个用来识别某字符的 Long。
说明:
0 到 31 之间的数字与标准的非打印 ASCII 代码相同。例如,Chr(10) 可以返回换行字符。charcode 的正常范围为 0 – 255。然而,在 DBCS 系统,charcode 的实际范围为 -32768 到 65535。

注意:   
ChrB 函数作用于包含在 String 中的字节数据。ChrB 总是返回一个单字节,而不是返回一个字符,一个字符可能是一个或两个字节。ChrW 函数返回包含 Unicode 的 String,若在不支持 Unicode 的平台上,则其功能与 Chr 函数相同。

所以把出错的line75行代码:stemp=stemp&chr(AscW(ChrB(AscB(upfile_5xSoft_Stream.Read(1)))&ChrB(c)))中的chr换成chrw就可以啦!




------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

今天把做好的ASP程序上传到美国服务器上,发现上传图片出现下面错误:

Microsoft VBScript runtime error '800a0005'

Invalid procedure call or argument: 'Chr'

Upload.asp, line 75

upload.asp 为无组件上传程序

出现如此错误可能是服务器用的是英文版本,因为

Chr 函数返回 String,其中包含有与指定的字符代码相关的字符 。

相关语法:Chr(charcode)

必要的 charcode 参数是一个用来识别某字符的 Long。

说明:0 到 31 之间的数字与标准的非打印 ASCII 代码相同。例如,Chr(10) 可以返回换行字符。charcode 的正常范围为 0 – 255。然而,在 DBCS 系统,charcode 的实际范围为 -32768 到 65535。

注意: ChrB 函数作用于包含在 String 中的字节数据。ChrB 总是返回一个单字节,而不是返回一个字符,一个字符可能是一个或两个字节。ChrW 函数返回包含 Unicode 的 String,若在不支持 Unicode 的平台上,则其功能与 Chr 函数相同。

所以把出错的line75行代码:stemp=stemp&chr(AscW(ChrB(AscB(upfile_5xSoft_Stream.Read(1)))&ChrB(c)))中的chr换成chrw就可以啦!

 

 

 

 

 

 


你可能感兴趣的:(ASP)