精易论坛

标题: 幽灵变量 [打印本页]

作者: dwcq    时间: 6 天前
标题: 幽灵变量
代码就不放了就说说啥情况,看看是啥可能造成的,有一个全局变量 是否运行 逻辑型的 公开然后按钮1点击调用 枚举_文 子程序,把这个子程序放在一个新建的程序集下边,
把 如果真 (正在运行 ≠ 真)  就跳出循环  放在 枚举_文件 的最下边一个循环代码里,还在如果真的上边加一句 调试输出 (是否运行,22222)

按钮1被单击后代码就是

是否运行 = 真
调试输出(是否运行,11111)
文件总数 = 枚举_文件(......)
调试输出(是否运行,33333)
是否运行 = 假

结果调试输出的是就三行字
真,11111
假,22222
真,33333

如果把这个  枚举_文件 子程序 放在启动窗口的程序集下边后就会正常枚举文件了一直显示 真,22222
不用测试了我新建了一个文件复制代码过去调试 一切正常,放哪都行,那么我的代码到底哪里的问题会这样,是什么可能会这样

放在启动窗口程序集下一直显示输出
真,22222
真,22222
真,22222
真,22222
放在新建的程序集下边就显示三行
真,11111
假,22222
真,33333


我找了半天也没看到是哪里的问题,就新建一个易语言源代码文件,单独重复一下这个流程结果就是啥问题没有,所以说肯定还是代码的问题吧
说我这个代码有问题吧,我也找了半天,没有赋值给他=假,放在启动窗口程序集下边一切正常,放在新建程序集1下边 就会=假,那这个变量是怎么回事

  




补充内容 (2025-6-30 23:18):
文件放置顶了看看把
作者: 熬夜    时间: 6 天前

作者: 小情缘    时间: 6 天前
你放简单源码吧
作者: 恶魔の佐翼    时间: 6 天前
易语言很正常,以前老早就碰到过..........
作者: 222555222    时间: 6 天前
看下是不是变量冲突了
作者: dwcq    时间: 6 天前
文件放置顶了,看看啥情况啊

有鬼的.e

53.32 KB, 下载次数: 5

正常的.e

6.36 KB, 下载次数: 1


作者: dwcq    时间: 6 天前
恶魔の佐翼 发表于 2025-6-30 23:04
易语言很正常,以前老早就碰到过..........

放置顶了看看把
作者: dwcq    时间: 6 天前
小情缘 发表于 2025-6-30 22:56
你放简单源码吧

放置顶了看看把
作者: dwcq    时间: 6 天前
222555222 发表于 2025-6-30 23:06
看下是不是变量冲突了

放置顶了看看把
作者: 熬夜    时间: 6 天前
你能把屁放全面吗 这逻辑图 我都画不出来 你里面一些条件
作者: 小情缘    时间: 6 天前
你变量重复了  窗口程序集_启动窗口 有一个 全局变量有一个
作者: Suky    时间: 5 天前


有鬼的,你说为什么会有鬼
子程序里用到的变量默认是先搜索局部变量,没有的话去程序集变量
还没有就去全局变量找,三个都没有子程序用到的变量名的话就报错
集变量与全局变量重名的时候,优先被引用的是子程序所在程序集的集变量




补充内容 (2025-7-1 03:43):
单凡禁止变量名称重复就不会出这个问题了
作者: Suky    时间: 5 天前


菜单栏的【工具】→【系统配置】→【编译】里面
把严格的重复名称检查勾选起来
这样你就不会自己给自己生产鬼了





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