while循环下,偶尔出现不能读取按键状态的情况


请看图。
初始化的3种方法。
初始化

当然啦,因为你程序用的是顺序结构+WHILE循环,这样子编写程序跑到下一个帧的话,前一个帧的按钮就按不了,就会出现你说的那种情况。
下一帧是需要前一帧按钮按下后才运行啊,我每个按钮是对于每一帧的结束条件的。理论上,程序运行后,第一个按钮肯定是能被按下的啊,但实际上会出现第一个按钮也不能按下的情况呢。
因为你的程序按钮没有被初始化!
请问:如何初始化?
请原谅我表达能力太差,你把vi发出来,我给你在程序里面添加上去再发上来给你,你看如何?
学习一下相关经验教训
那可能真的是按钮初始化没有设置好,还有一种情况会不会是按钮的动作设置,选择了其他模式导致的(如释放时转换)
while里加个小延时,你CPU在满负荷的跑。
的确是初始化的问题,按您的第一种方法做了,问题依然没有解决,我想应该是我的问题描述得不够详尽:
程序运行后 ,如果不小心将鼠标移到波形图控件上,就会出现按钮失灵现象。感觉像是第三帧里面的内容有缺陷导致出问题了。

我觉得是我最后一帧的“事件结构”产生影响了,但是,我已经使用了平铺式结构了啊,是不是“鼠标移动中断”是在程序开始时就已经打开了的?如何才能在我需要时才打开“鼠标移动中断”?
while 循环加延时!你打开你的任务管理器看看你cpu跑了多少?加50ms延时。
cpu跑了7%的样子吧。
没有啊,貌似跑得很轻松呢
问题解决了,通过:
1)改成“鼠标按下”触发事件
2)去掉“锁定前面板”的钩
我觉得之前按键失灵是因为:在事件队列中的待处理事件太多了,或者是按钮触发事件因为溢出事件队列缓存被冲掉了)
小编记得选择对你有帮助的答案喔
很难取舍,总之,谢谢论坛,谢谢各位!
好帖子顶一顶!感谢小编
表示看不懂!
状态机不好吗?
