开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 746|回复: 10
收起左侧

[讨论] 关于判断被屏蔽后

[复制链接]

结帖率:100% (18/18)
发表于 2023-11-9 09:21:18 | 显示全部楼层 |阅读模式   福建省泉州市
判断被屏蔽了,却依然有效
https://bbs.125.la/forum.php?mod=viewthread&tid=14801952
(出处: 精易论坛)

“一个超级列表框搜索,在判断编辑框是否空后,改成按钮搜索,结果被屏蔽的代码却依然有效


并不是代码依然有效,而是依托于判断结果产生的两个分支流程里的代码因为通道被堵住,跟着判断一起失效了而已
看看代码流程线就能明白了
易语言程序设计上  没有在判断类命令被屏蔽后自动将其流程分支线上的代码自动移动到主流程线上
当流程分支线前面的前提命令被屏蔽通道堵塞之后,命令后续的分支流程线上的代码也相当于被屏蔽掉
这不能视为“被屏蔽的代码依然有效”


  
' 流程主线
判断 ()
' 流程支线①
' 流程支线①
' 流程支线①
' 流程支线②
' 流程支线②
' 流程支线②
' 流程主线


看一下这段代码,或许你们能明白一点


原帖中,判断被屏蔽后,不管被判断的编辑框3内容为何,结果都会一样
在判断命令被屏蔽后,两条分支流程线上的代码都不会被执行


原帖中有些回复的内容看起来有点奇怪,估计是没理解楼主的意思,建议看一下原帖5楼内容


@我的yyy123  @乐鱼驴  @mil  @菜鸟路过  @走一回  @FanLi  

结帖率:100% (18/18)

签到天数: 25 天

 楼主| 发表于 2023-11-9 09:30:36 | 显示全部楼层   福建省泉州市
再看一下这个判断串联的情况,只把串联的判断命令中某个判断屏蔽,那么后续处于其流程支线的其他判断也会失效
  
' 流程主线
判断 ()  ' 判断1
' 判断1流程支线①
判断 ()  ' 判断2, 判断1流程支线②
' 判断2流程支线①
判断 ()  ' 判断3,判断2流程支线②
' 判断3流程支线①
' 判断3流程支线②
' 流程主线


而当命令不处于被屏蔽代码的流程支线上时,前面的代码被屏蔽就不会影响到它们
像底下这样的,前面的判断被屏蔽,不会影响后面的
  
' 流程主线
判断 ()  ' 判断1
' 判断1流程支线①
' 判断1流程支线②
' 流程主线
判断 ()  ' 判断2
' 判断2流程支线①
' 判断2流程支线②
' 流程主线
判断 ()  ' 判断3
' 判断3流程支线①
' 判断3流程支线②
' 流程主线


回复 支持 反对

使用道具 举报

结帖率:100% (18/18)

签到天数: 25 天

 楼主| 发表于 2023-11-9 09:38:39 | 显示全部楼层   福建省泉州市
若是将判断命令改为  如果、如果真   这些屏蔽后自动缩进的命令前提命令被屏蔽后    流程支线上的命令会自动缩进移动到主线上
相关代码命令就依然会被执行
解除屏蔽后   原本支线代码不会自动回到原来的支线位置
回复 支持 反对

使用道具 举报

结帖率:81% (29/36)

签到天数: 24 天

发表于 2023-11-9 09:30:19 | 显示全部楼层   四川省泸州市
因为线还在。。

点评

月老牵线   福建省泉州市  发表于 2023-11-9 09:40
回复 支持 反对

使用道具 举报

结帖率:100% (20/20)

签到天数: 26 天

发表于 2023-11-9 09:41:28 | 显示全部楼层   浙江省杭州市
可能我习惯线也不能在 所以我没遇到过

线在总感觉不对
回复 支持 反对

使用道具 举报

结帖率:99% (509/514)

签到天数: 14 天

发表于 2023-11-9 11:03:47 | 显示全部楼层   重庆市重庆市
判断屏蔽后,上下我一定都会留一个空行避免此类事情发生
回复 支持 反对

使用道具 举报

结帖率:95% (18/19)

签到天数: 26 天

发表于 2023-11-9 11:42:44 | 显示全部楼层   湖北省武汉市
这是老bug了,书写代码一定更要保持好习惯就行,还有些函数直接返回也不行,例如  返回(某类.计算函数())这样也会有几率触发bug返回 0
回复 支持 反对

使用道具 举报

结帖率:92% (11/12)

签到天数: 7 天

发表于 2023-11-9 18:30:04 | 显示全部楼层   河北省邯郸市
原来是这样啊 ,我直接给他定性为bug了.
回复 支持 反对

使用道具 举报

结帖率:100% (2/2)

签到天数: 8 天

发表于 2023-11-10 13:00:22 | 显示全部楼层   湖北省孝感市
我回复的: 屏蔽不能只屏蔽一半,得完全屏蔽才行 。 这没毛病啊。楼主说的很详细!
回复 支持 反对

使用道具 举报

结帖率:100% (18/18)

签到天数: 25 天

 楼主| 发表于 2023-11-10 17:12:23 | 显示全部楼层   福建省泉州市
菜鸟路过 发表于 2023-11-10 13:00
我回复的: 屏蔽不能只屏蔽一半,得完全屏蔽才行 。 这没毛病啊。楼主说的很详细! ...

你是不是误会了什么??

这里说的是   判断命令被屏蔽后,其分支流程里的代码不管是否屏蔽都将失效
并不是说屏蔽的代码依然被执行
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表