注意你的Chr 函數,關於圖片上除'800a0005'錯誤

今天在調式相冊的時候,出現了一個問題,總是提示:
Microsoft VBScript runtime error '800a0005'
Invalid procedure call or argument: 'Chr'
UPLOAD.INC, line 75
 
一開始我就覺得應該是平臺的問題,因爲以前在在xp專業版上調式的,而這次出錯是在2003上。
所以,一直就是回想,2003的IIS 在文件要求上與XP的IIS5有什麼不同。
能想到的都想到了,但就是解決不了問題。
仔細看了看錯誤提示(如上紅絕加粗的),突然看到了“CHR”,打開upload.inc,看到第75行是如下內容:
     stemp=stemp&Chrw(AscW(ChrB(AscB(upfile_5xSoft_Stream.Read(1)))&ChrB(c)))
  Chr(charcode)出了問題?
Chr 函數返回 String,其中包含有與指定的字符代碼相關的字符 ,必要的 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&chrw(AscW(ChrB(AscB(upfile_5xSoft_Stream.Read(1)))&ChrB(c)))
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章