为什么有时候 易语言 代码会失灵呢

就比如说 如果 这个命令就经常失灵

比方说

如果(逻辑变量 = 真)
载入(窗口1, , 假)
否则
载入(窗口2, ,假)
如果结束

有时候不管条件是否成立 都会执行第一个命令 或者只能执行第二个命令 还有几次干脆两个一起执行了 更夸张的是 在某些情况下直接跳过了这个 如果 去执行下面的命令了 可是只要把这个 如果 删掉重新写上就有正常了 有时在测试的时候没有问题 可是只要反复保存几次代码 就会出现代码失灵的现象 我已经遇到好几次这种情况了了 就是不知道是什么原因导致的 我用的是 易语言5.11破解版 是不是因为是破解版的原因呢 或者是因为我使用不当造成的呢 别说我把代码写错位置了 我学易语言一年了 不可能犯这么低级的错误 请高人帮忙解决一下吧 我代表地球人谢谢您了
我昨天又测试了一下 发现大多数情况下出问题的都是些 流程控制类命令 别的东西有时也不正常 我以前用的是易语言5.1破解版没出过这种事 后来换了易语言5.11破解版 就开始出问题了 是破解的不好 还是这个版本就有问题呢 或者是我没设置好 还是其他原因呢 请高人帮分析一下吧 谢谢

现在做个补充:我出现失灵是因为代码被复制粘帖后,有变量的那些行,每一行都要重新在末尾按下回车,否则代码失灵。最好是粘帖后每行都试试回车再退格。

我也是新手,昨天遇到相同的问题,通过几个测试稍微弄明白了一点。结果如下:
.子程序 _状态_被单击
.如果 (状态界面.可视 = 假)
载入 (状态界面, 主界面, 假)
状态界面.可视 = 真
.否则
状态界面.销毁 ()
.如果结束

.子程序 _阵型_被单击
.如果 (阵型界面.可视 = 假)
载入 (阵型界面, 主界面, 假)
阵型界面.可视 = 真
.否则
阵型界面.销毁 ()
.如果结束

此时代码正常并保存经过两天。

让后加入:

不论加入哪个按钮下都将导致该按钮直接失灵,调试运行时既不弹出界面窗口也不弹出信息框。
然后将其中一个界面框的代码复制到另一个按钮下,如下:
.子程序 _状态_被单击
计数 = 取小时 (取现行时间 ()) × 100 + 取分钟 (取现行时间 ()) × 20 + 取秒 (取现行时间 ()) × 1
信息框 (计数, 0, , )

.子程序 _阵型_被单击
.如果 (阵型界面.可视 = 假)
载入 (阵型界面, 主界面, 假)
阵型界面.可视 = 真
.否则
阵型界面.销毁 ()
.如果结束
.如果 (状态界面.可视 = 假)
载入 (状态界面, 主界面, 假)
状态界面.可视 = 真
.否则
状态界面.销毁 ()
.如果结束

全部运行成功,三个窗口都能弹出。
再讲代码写会原位,如下:
.子程序 _状态_被单击
.如果 (状态界面.可视 = 假)
载入 (状态界面, 主界面, 假)
状态界面.可视 = 真
.否则
状态界面.销毁 ()
.如果结束
计数 = 取小时 (取现行时间 ()) × 100 + 取分钟 (取现行时间 ()) × 20 + 取秒 (取现行时间 ()) × 1
信息框 (计数, 0, , )
.子程序 _阵型_被单击
.如果 (阵型界面.可视 = 假)
载入 (阵型界面, 主界面, 假)
阵型界面.可视 = 真
.否则
阵型界面.销毁 ()
.如果结束
此时,不论信息框是否存在,和在任意按钮的代码里,三个窗口都能正常弹出。
我用的是5.9版。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-02-11
是不是载入后又重复载入?是不是应该加上句 是否已创建() 判断一下窗口是不是存在?
应该是代码的漏洞吧。
还有你的系统是window7吧,我用windows7的时候也会出现一些小问题,比如左键按下,事件直接没反应,XP的就完全没问题,或者是你电脑中只有一个易语言,却好几个系统调用它,都会出现这种问题
第2个回答  2012-02-03
我记得在网上看世宝的视频的时候 也出现过代码不正常的现象 当时世宝也不知道是什么原因 后来世宝使用了备份代码才把视频做完 当时世宝也没说是什么原因导致的 他只是说可能是他按了键了吧 反正他一口咬定说代码是他自己弄坏的 也许易语言真的存在某些漏洞吧 世宝把出问题的责任都推到自己的身上 说是他自己不小心才把代码弄坏的 他可能不想破坏易语言的名声吧 所以才把错都推给了自己吧 易语言从诞生到现在才经历了10年多的时间 很多地方的技术都还不太成熟 所一说了有点问题一是正常的 继续支持易语言吧随着版本的升级 这些小问题一定能解决的 想避免这些问题也是可以的 就比如说可以像世宝那样做好备份 还有就是当你保存文件的时候 不要反复区覆盖源文件 多保存几个文件 有时一个文件要是被反复读写 也会造成文件损坏或文件部分损坏和丢失其中某一部分 所以说了这种问题不一定就是100%易语言自己造成的 备份才是最安全的方法本回答被提问者采纳
第3个回答  2012-01-28
因为你已经让逻辑变量=真了,你得有命令让逻辑变量=假否则程序只知道真载入窗口1,他不知道假载入窗口2
第4个回答  2012-02-02
的确,但用 如果真 出错几率很少
相似回答