账号通
    

账号  

密码  

1551

查看

1

回复
主题:[分享]栏目文章生成静态页出错解决方法 [收藏主题]  
thomas 当前离线

65

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:876 分
登录次数:18 次
注册时间:2007/11/19
最后登录:2008/5/16
thomas 发表于:2008/1/9 9:35:00   | 只看该作者 查看该作者主题 楼主 

今天在生成一栏目文章时出现了以下错误

Microsoft VBScript 运行时错误 错误 '800a0005'

无效的过程调用或参数

../../KS_Cls/KS.RCls.asp,行 201

为什么会出现这样的错误我不清楚,相关代码是

Sub FSOSaveFile(Content, LocalFileName)
Dim FSO, FileObj
Set FSO = Server.CreateObject(KS.Setting(99))
Set FileObj = FSO.CreateTextFile(Server.MapPath(LocalFileName), True) '创建文件
FileObj.Write Content '此语句出现了错误
FileObj.Close '释放对象
Set FileObj = Nothing:Set FSO = Nothing
End Sub

我的修改方案是

Sub FSOSaveFile(Content, LocalFileName)
Dim FSO, FileObj
Set FSO = Server.CreateObject(KS.Setting(99))
Set FileObj = FSO.CreateTextFile(Server.MapPath(LocalFileName), True) '创建文件
On Error Resume Next
FileObj.Write Content
FileObj.Close '释放对象
if err.number <> 0 then
call adoSaveFile(Content, LocalFileName)
end if
Set FileObj = Nothing:Set FSO = Nothing
End Sub

public Sub adoSaveFile(Content,LocalFileName) '新增加的使用AdodbStream生成的函数
Dim AdodbStreamObj
Set AdodbStreamObj = Server.CreateObject("Adodb.Stream")
With AdodbStreamObj
.Type = 2
.Open
.Charset = "GB2312"
.WriteText Content
.SaveToFile Server.MapPath(LocalFileName),2
.Cancel()
.Close()
End With
Set AdodbStreamObj = Nothing
End Sub

以上代码已通过测试,写出来跟大家分享下

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
thomas 当前离线

65

主题

0

广播

0

粉丝
添加关注
级别:学前班

用户积分:876 分
登录次数:18 次
注册时间:2007/11/19
最后登录:2008/5/16
thomas 发表于:2008/1/9 10:16:00   | 只看该作者 查看该作者主题 沙发 

刚刚在生成百度sitemap时出现了类似的问题

Microsoft VBScript 运行时错误 错误 '800a0005'

无效的过程调用或参数

/admin/include/Refresh_Sitemap.asp,行 141

Set smw = objFso.CreateTextFile(NewsPath, True)
smw.WriteLine(xmlstr)

我想应该是我某篇文章标题的字符有问题或什么的

可以使用同样方法解决

 
  支持(0) | 反对(0) 回到顶部顶端 回到底部底部
<上一主题 | 下一主题 >
Powered By KesionCMS Version X1
厦门科汛软件有限公司 © 2006-2016 页面执行0.29688秒 powered by KesionCMS 9.0