精易论坛

标题: 精易模块5.7版本的一个会革盘的BUG [打印本页]

作者: 2576605471    时间: 2017-5-24 20:40
标题: 精易模块5.7版本的一个会革盘的BUG
本帖最后由 2576605471 于 2017-5-24 23:54 编辑

5.6里的 目录_删除()


5.7里的 目录_删除()





反馈5.7模块的bug:
"目录_删除()" 此命令,在意外情况下,传了个空字符串参数,导致的结果和格盘无异!
我就因为代码测试中,错误导致传了个空字符串,结果命令直接删了我一百G的资料,删了我整个盘的文件,我用了一天一夜来做数据恢复,简直变态.就这样吧,不改正,就是在害人

5.6的命令都没什么问题的,5.7就手贱改了

@zhifu3158
@你凌哥i



作者: 2576605471    时间: 2017-5-24 20:44
本帖最后由 2576605471 于 2017-5-24 20:48 编辑

@zhifu3158 @你凌哥i


解决了可能删除当前目录的bug,添加了可能格盘的bug


修改的意义在哪?如果只是滥竽充数,不如不改




作者: 银河世纪    时间: 2017-5-24 20:45
盟主 暂时搞不过来
作者: 黑白郎君    时间: 2017-5-24 21:57
就精易代码来看没问题,先检查你的代码!!!!你所说的不传参数。不报错?没有设置可以属性。你所说的空字符串直接就返回了,那里来的格盘?
作者: 凌哥    时间: 2017-5-24 22:38
看不懂一个单纯的删除目录为什么要这样搞,这是小白??????
作者: 2576605471    时间: 2017-5-25 12:42
目测要沉
作者: zhifu3158    时间: 2017-5-25 12:47
5.7的 还没好???当初5.6的我发现是这个问题 我专门发帖子 并自己做了修改,5.7最新的还不行吗?反正我自从丢失了大量重要源码以后,就一直使用5.5的,5.6及以后的版本都不敢用了。。。建议大家在使用相关功能是 先去看一下源代码 最好是自己对源代码进行修改和注释,这样对提供我们的编程能力很有好处的!!
作者: 2576605471    时间: 2017-5-25 13:09
zhifu3158 发表于 2017-5-25 12:47
5.7的 还没好???当初5.6的我发现是这个问题 我专门发帖子 并自己做了修改,5.7最新的还不行吗?反正我自 ...

模块里列出了你的名字,我还以为是你修改的,原来你也是受害者提建议的

5.6没事,5.7就错了,害死人
作者: zhifu3158    时间: 2017-5-25 14:16
2576605471 发表于 2017-5-25 13:09
模块里列出了你的名字,我还以为是你修改的,原来你也是受害者提建议的

5.6没事,5.7就错了,害死人

这个 应该是 官方没有考虑到你设置为空的情况,设置参数为空,易语言默认是软件的源码目录,(你的的源码目录里有上百G 内容??)目录_删除 命令当初确实是我反馈的,而且也给出了修改方案, 我当初的帖子地址:
http://125.confly.eu.org/forum.php?mod= ... 13984491&extra=
  我当初是 5.6版本里的 目录_清空 命令,导致大量的数据丢失,我便来此反馈并提交修改意见,而“目录_删除 ” 命令 当初我没有用过,因为这个命令我一直使用易语言自身支持库里的命令,具体也没有测试。

    看上面你的截图可以知道,5.7模块修改的命令是没有错的,关键是“欲删除目录”参数是不能为空的!你如果这个参数什么都不写,这句命令是不能执行的啊!不知道你所说的 传了一个空字符串(也就是空文本)是怎么操作的。。。。。。。
   如果您是自己复制下来了这个剧命令的代码,请仔细的看看你的代码中 欲删除目录  参数是否允许为空。。。  
  另外:我的QQ:815009714  欢迎加我qq一起探讨下,我也帮您寻找下原因!
作者: 2576605471    时间: 2017-5-26 00:21
本帖最后由 2576605471 于 2017-5-26 00:26 编辑
zhifu3158 发表于 2017-5-25 14:16
这个 应该是 官方没有考虑到你设置为空的情况,设置参数为空,易语言默认是软件的源码目录,(你的的源码 ...


我本来还想让大家自己找出错误,结果大失所望,没人能看出来,可能是字节集的问题掩盖了,难直接从图片上看出,

这个错误\答案,我是看你认真的态度,我回复给你的,本来我并不打算写出来,因为你们改的一个东西,结果无辜删我文件,结果还有人骂我小白,说我无知?

我只提重点:

rd /s /q "\"

功能: 格式化当前所在盘,

就是这个,直接革了我的整个f盘



作者: 仁鹰    时间: 2017-5-26 11:02
吓得我赶紧看开我的代码
作者: zhifu3158    时间: 2017-5-26 11:24
2576605471 发表于 2017-5-26 00:21
我本来还想让大家自己找出错误,结果大失所望,没人能看出来,可能是字节集的问题掩盖了,难直接从图片上看 ...

rd /s /q "\"  是删除你的源码所在盘的跟盘,也就是如果你的源码在F 盘 就删除整个F盘,等同格式化,。。
  但是我不明白的是,你怎样才能传进去 空参数??能否将当初你那出现问题的源码发上来,我测试下,帮你看看,毕竟精易模块中 目录_删除() 命令是不允许为空的,也就是说,除非你调用命令的时候给他传一个 “\” 参数。否则命令是不生效的 无法运行的,
       难道你调用命令时传递的 欲删除目录参数是“\”???
作者: 2576605471    时间: 2017-5-26 14:24
本帖最后由 2576605471 于 2017-5-26 14:30 编辑
zhifu3158 发表于 2017-5-26 11:24
rd /s /q "\"  是删除你的源码所在盘的跟盘,也就是如果你的源码在F 盘 就删除整个F盘,等同格式化,。。 ...


参数 = ""       而不是   空

一开始我语误

空传进来的时候,他不是判断,而是直接 + "\"         对着5.7的源码去看吧

然后接着   目录_是否存在("\")   的结果是真

所以,不会返回,于是革盘悲剧来了,,,非要我解释这么透...让我一个不想解释的人,情何以堪

我本思想



作者: 2576605471    时间: 2017-5-26 14:39
本帖最后由 2576605471 于 2017-5-26 19:03 编辑

我反馈快两天了吧,依旧还有人在质疑我的反馈,没一个人能看出问题




作者: zhifu3158    时间: 2017-5-26 16:09
2576605471 发表于 2017-5-26 14:39
我反馈快两天了吧,依旧还有人在质疑我的反馈,没一个人能看出问题

我说个不好听的话,要是让这样疏忽的人 ...

  好吧,我明天就回老家村里 去种地去。。。

最后给楼主一个建议,你这不是在反馈问题,而是在抱怨!而且抱怨的前提还是你自己的源码出现不正确操作后导致的问题的抱怨!
我给你个正确反馈BUG 的例子:

1、提出在什么情况下会出现BUG!
2、提出修改意见,最好是给出修改方法!

人家写模块式为了方便大家“偷懒”调用的,为什么要把模块开源?把源码都直接给你了??难道不懂其中的寓意吗?
  
不得不承认开发人员在写这个命令时出现了两个疏忽之处:
第一:在命令说明(备注)处没有警示说明。易语言自带支持库中的“删除目录”中特别备注了“该目录应实际存在,如果目录中存在文件或子目录,将被一并删除,因此使用本命令请千万慎重”,这是疏忽之处,望加上对应备注。。。

第二:没有考虑到参数可能为空的情况,建议将 判断(目录_是否存在)命令放在 判断尾部“\”  的前面!!
(其实这一点谁都没有想到,毕竟无论是使用易语言自身支持库 还是调用精易模块,凡是重要的操作尤其是文本、目录的 删除、清空等操作时,使用者都会非常小心并在使用前判断目录(或者是变量)是否为空,长度是否大于2.。。。这是最基本的源码编写的注意事项。)

我在5.6中反馈的问题是 模块中针对目录地址尾部“\” 的判断方式不完整(其实就是将参数赋值给局部变量不完整)。如果像你这样,参数传递“” ,在5.6中是什么都不执行的,

我也不知道该说什么了。总之建议在调用模块命令之前先看一下源码,最后是将源码直接复制过来并根据自身的需求稍作修改,还有注意自己软件的开发逻辑,如果出现问题,请正确的方式来反馈问题,人家写模块给你, 还是开源的,有没有强迫你用,也没有收你的钱,自己操作失误导致的后果却将责任全部推卸到别人那里,就如同开车时睡着了,出了车祸,就去找汽车厂家理论,要求对方加上“如果司机开车中睡着了防止出车祸的”安全措施。。。。。。。

不说了,再说就是吵架了,总之模块是要再完善下的,还有:我说到做到,明天回老家村里去。。。

作者: 2576605471    时间: 2017-5-26 19:15
zhifu3158 发表于 2017-5-26 16:09
好吧,我明天就回老家村里 去种地去。。。

最后给楼主一个建议,你这不是在反馈问题,而 ...

我是不知道你们改了哪里,但从我能拿到的源码来看,5.6和5.7的改法,根本就是不应该出的错误,

5.6的代码,是先判断是否存在,再+"\",根本没问题

而5.7的,什么也不改,就单单改了,先+"\",再判断是否存在

这样一看,搞得就像故意的一样,我才气的,

另外,关于开源的模块,我表示致敬,我是一直用精易模块,别的都少用,只是这样的更新,让人太寒心了.

我只是一个使用者,我没啥贡献,也不应该去质疑你们无私的工作,但期望的是尽可能严谨点,没其他意思.

另外,回家种田只是胡话,我删了,你别介意
作者: zcj0016    时间: 2017-5-28 12:58
2576605471 发表于 2017-5-26 19:15
我是不知道你们改了哪里,但从我能拿到的源码来看,5.6和5.7的改法,根本就是不应该出的错误,

5.6的代码, ...

这是个很严重的bug啊。。。应该在最前面再加两个判断    参数=“” 或者参数=“\” 就返回。这样是不是就可以避免了?
作者: a5005019    时间: 2017-8-31 19:37
学习了,支持支持
作者: 离别殇    时间: 2017-9-22 00:12
学习了,支持支持
作者: a15022606145    时间: 2018-1-14 21:30
不要呼吁啊
作者: yuzhong    时间: 2023-10-31 04:31
111111111111111111111111111111111111




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4