|
主题:[原创]炮轰科讯 [收藏主题] | 转到: |
我是科讯的老用户,用过很多的版本,看着科讯一点一点的成长和强大由衷的为他祝福,并且非常感谢他为大家提供了开源的如此好的程序,但是在使用4.5sp2的时候却发现了许多非常奇怪的问题,在这里发发议论,不否认标题又哗众取宠之嫌,但我不是标题党,请看完文章再发议论,欢迎拍砖,不要谩骂。 在4.5测试版的时候就下载了程序,看着功能强大了许多,原来没有开放的自定义表单功能也开放了,非常高兴,但是由于工作的原因并没有做详细的测试和应用,前一段受朋友所托做一个小站,功能要求非常简单,只要又文章系统就行,当时就决定使用科讯,此时是4.5sp2,安装后一切都还算顺利,但是当我在后台修改了一些基本参数之后奇怪的事情竟然发生了,打开主页显示出错,但是又没有详细的提示搞不清问题出在了那里,开始以为是我改变了后台和数据库模板等的路径造成的,于是就又恢复过来,但还是不行,后台能进没有问题,前台不能浏览任何页面。于是怀疑是我的平台不行,因为我调试的电脑上装的是最新的windows 2008 web server,于是我把整个程序转移到一个windows2003的平台上,结果还是一样。于是怀疑是不是修改了基本参数中去掉了科讯的标识(缺省的网站标题,版权信息、网站关键字都是科讯的),又把原来的内容复制回去还是不行(注:这个担心是多余的,在免费版中科讯好像并没有通过特殊的手段强迫用户在一些地方保留他的标识,但是他进行了一些处理,让你很难找到和修改)。没有办法把原本的数据库恢复过来,前台浏览正常,接着小心翼翼的在后台基本参数中只改变了一个地方,保存,浏览首页,提示错误无法浏览。就这样想了各个方面的原因,一直熬到深夜两点都没有,心想谁让自己用的是免费版的呢,但是这样痛苦的经历如果是花钱的话一定会感觉非常冤枉的,但是不服输的我开始一句阅读他的代码,加上在后台使用中发现的其他错误(在后台留言管理出错,无法显示留言,报数据类型吧匹配)终于发现了问题,在ks_cls目录下的KS.RCls.asp文件中IF KS.Setting(83)=0,根据修改留言显示的问题很有可能也是这里出错了,因为网站的设置内容多以文本方式保存,而这里的0却没有引号,把0加上了引号,再浏览一切正常,修改后不得不由衷的想说“我操啊!”,一个小小的失误却是我耗去了n个小时的时间和精力,索性查找类似的问题,发现科讯的又的加引号有的不加引号,真是奇怪,但还是把找的几个疑似的也给改了,运行至今没有发现问题。 今天因为要测试模板,在后台添加了几篇测试的文章,但是太少看不到效果,于是就进行复制粘贴,但是发现不管怎么复制就是不会粘贴,奇怪的问题总是会激起我挑战的***,先是怀疑新的版本有问题,把4.0下的文件复制过来也不行,没有办法只好追踪他的代码,文章的管理有ks.article.asp文件执行,运行时先判断action参数,如果没有则执行ArticleMain()显示文章管理主页面,当用户在某些文章上点复制时会运行js的函数(InitialDocMenuArr js函数初始化右键菜单)function Paste()在该js的函数中添加 Param='?ChannelID=<%=ChannelID%>&Action=Paste&Page='+Page; Param+='&PasteTypeID='+top.CommonCopyCut.PasteTypeID+'&DestFolderID='+ClassID+'&SourceFolderID='+top.CommonCopyCut.SourceFolderID+'&FolderID='+top.CommonCopyCut.FolderID+'&ContentID='+top.CommonCopyCut.ContentID;
等参数后执行location.href='KS.Article.asp'+Param; 在ks.article.asp中检测action参数转到Call ArticlePaste(),然后检查是复制粘贴还是剪切,复制粘贴执行PasteByCopy(SourceFolderID, DestFolderID, FolderID, ContentID)然后转到Call AddCopyArticle(RS(0), True, RS(1), DestFolderID) rs来自 RS.Open "Select NewsID,Tid From " & KS.C_S(ChannelID,2) &" Where NewsID='" & NContentID(I) & "' And DelTF=0", conn, 1, 1
很显然rs(0)指的是newsid,即文章编号,查数据库表ks_article的 newsid字段类型为文本但是在AddCopyArticle函数中却又这些的写法 If NewID = 0 Then 很显然这里又出现了类型吧匹配的情况,使得复制操作不能正常完成,复制的时候窗口一闪而过,没有任何反应,把if NewID = 0 改为if NewID = “0 ”再复制复制成功!!!
虽然至此解决了问题,但是心里很不是滋味,为科讯程序员的粗心大意感到难过,为因此带来的麻烦感到气愤,其实这些问题并不是什么很难发现的问题,在写代码的时候注意规范就可以不出现这样的问题,但是现在却接二连三的出现,很让我为科讯感到难过。
vb script确是不是强数据类型的程序语言,他会在必要时候进行类型的转换,但是好像在进行比较操作时他不会进行这样的转换(一点猜测,也可能是iis7 VBScript/5.7.18000 下面加强了对数据类型的检测),希望科讯在以后的版本中能少一些错误,只有这样才会更多的支持者才会又更加光明的前途,当然我们用户才能有更好的程序可用。虽然发现了这些问题,但是依然喜欢科讯,支持科讯,希望越来越好!!!!!!!! |
|
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
支持(0) | 反对(0) 顶端 底部 |
<上一主题 | 下一主题 > |