网络编程
位置:首页>> 网络编程>> Asp编程>> FSO无效的过程调用或参数问题

FSO无效的过程调用或参数问题

 来源:一根葱BLOG 发布时间:2010-03-25 21:49:00 

标签:fso,参数,问题

fso对象CreateTextFile方法调用时可能会报“无效的过程调用或参数”错误,
在使用ASP生成静态页面时,如果传入的字符串参数编码为utf-8,CreateTextFile方法默认方式有可能会报错的,应该对方法该方法的第三个参数(即编码)设置为true,这时创建的文件以Unicode编码保存,否则是以ASCII编码保存。

对于其他方法报类似于下面的错误,一般是因为传入的参数为null引起的,可在调用前用IsNull做下判断,就可避免。

错误类型:
Microsoft VBScript 运行时错误 (0x800A0005)
无效的过程调用或参数

关于CreateTextFile方法参考:

描述
创建指定文件并返回 TextStream 对象,该对象可用于读或写创建的文件。
语法
object.CreateTextFile(filename[, overwrite[, unicode]])
CreateTextFile 方法的语法有以下部分:

部分 描述
object 必选。应为 FileSystemObject 或 Folder 对象的名称。
filename 必选。字符串表达式,指明要创建的文件。
overwrite 可选。Boolean 值指明是否可以覆盖现有文件。如果可覆盖文件,该值为 True;如果不能覆盖文件,则该值为 False 。如果省略该值,则不能覆盖现有文件。
unicode 可选。Boolean 值指明是否以 Unicode 或 ASCII 文件格式创建文件。如果以 Unicode 文件格式创建文件,则该值为 True;如果以 ASCII 文件格式创建文件,则该值为 False。如果省略此部分,则假定创建 ASCII 文件。


说明
以下代码举例说明如何使用 CreateTextFile 方法创建并打开文本文件:
Sub CreateAfile
    Set fs = CreateObject("Scripting.FileSystemObject")
    Set a = fs.CreateTextFile("c:\testfile.txt", True)
    a.WriteLine("这是一个测试。")
    a.Close
End Sub

对于 filename 已经存在的文件,如果 overwrite 参数为 False,或未提供此参数时,则会出现错误。

另附:

fso OpenTextFile方法说明
打开指定的文件并返回一个 TextStream 对象,可以通过这个对象对文件进行读、写或追加。

object.OpenTextFile(filename[, iomode[, create[, format]]])
参数
object     必选项。object 应为 FileSystemObject 的名称。
filename      必选项。指明要打开文件的字符串表达式。
iomode      可选项。可以是三个常数之一:ForReading 、 ForWriting 或 ForAppending 。
create      可选项。Boolean 值,指明当指定的 filename 不存在时是否创建新文件。如果创建新文件则值为 True ,如果不创建则为 False 。如果忽略,则不创建新文件。
format      可选项。使用三态值中的一个来指明打开文件的格式。如果忽略,那么文件将以 ASCII 格式打开。
设置
iomode      参数可以是下列设置中的任一种:

常数                  值      描述
ForReading         1       以只读方式打开文件。不能写这个文件。
ForWriting           2      以写方式打开文件
ForAppending      8      打开文件并从文件末尾开始写。

format 参数可以是下列设置中的任一种:

值 描述
TristateTrue 以 Unicode 格式打开文件。
TristateFalse 以 ASCII 格式打开文件。
TristateUseDefault 使用系统默认值打开文件。

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com