精易论坛

标题: 处理事件 () [打印本页]

作者: 我的yyy123    时间: 3 天前
标题: 处理事件 ()
以前觉得这个 处理事件 ()  蛮好用的,开始现在觉得莫名奇妙了,
写个串口,字节集转16进制文本,直接精易调用,可以,但是编译后多了4MB,在助手词库复制过来,却出现下标,看了好几,把 处理事件 ()  屏蔽后,正常了。
在读取复制按钮时,运行挺好的,感觉有点卡,就加了 处理事件 () ,结果,到循环读取按钮时,没了,屏蔽 处理事件 () ,就没问题了,
这个 处理事件 ()  到底怎么用,

作者: 呵呵仙    时间: 3 天前
处理事件 ()就是,一个在做事时,先把手头上工作先停一停,然后这个人就可以移动了!这个人就如窗口.不知,我说得对不对?
作者: RainCharm    时间: 3 天前
处理事件 () 是一把双刃剑:用得好,程序流畅;用不好,bug 难调。
核心技巧:在调用 处理事件 ()的循环内,一定要禁用那些会导致重入(Re-enter)的按钮(特别是启动按钮)。
很可能是在循环中,处理事件 ()处理了意外的第二次按钮点击,导致函数被重复调用。屏蔽它之后,这个问题就消失了,但这并非治本之策,因为程序在真正处理大数据时可能会卡死。治本之策是“禁用按钮”。
关于编译大小:处理事件 ()是核心支持库命令,本身不会显著增加 4MB 的体积。体积增大更可能是引用了独立编译的精易模块等大型模块导致的。你可以尝试使用“静编”而非“独立编译”
作者: dnxl    时间: 3 天前
处理事件就是在有消息循环的线程里面暂停当前的活,去看有没有其他消息要处理,有的话就先处理其他消息
不然代码耗时过大的话线程就会堵死,比如一个按钮事件代码循环耗时10秒,那整个界面就会卡死10秒,
如果在这10秒内调用100次处理事件,那它0.1秒就会响应一次其他事件,界面不至于卡的太离谱
作者: lytsz    时间: 前天 00:17
用系统_处理事件
作者: 我的yyy123    时间: 前天 08:10
dnxl 发表于 2025-11-4 21:47
处理事件就是在有消息循环的线程里面暂停当前的活,去看有没有其他消息要处理,有的话就先处理其他消息
不 ...

谢谢,原来如此




欢迎光临 精易论坛 (https://bbs.ijingyi.com/) Powered by Discuz! X3.4