while 循环中的事件案例管理
Event-case management in while-loop
如果我将图片中显示的方块放入 while 循环,一切都会失败,例如停止按钮不起作用!
有人可以向我解释如何正确使用事件吗?
谢谢
您没有连接超时终端
它如何始终等待事件并且不允许您停止循环。因为它不迭代,所以它等待。
要停止循环,您应该指定“停止”按钮事件,这样您的循环将在单击“停止”时迭代,您将能够停止它。或者你可以只指定超时,比如 100 毫秒,循环将每 100 毫秒迭代一次超时情况,即使没有事件。
同时尽量避免强制转换点(某些块附近的小红点,如 add)数据类型动态更改(I32 为双精度)但效率不高,LabVIEW 中的约定主要是手动更改数据类型.
其他答案告诉您如何修补您的代码,以便您当前的体系结构继续工作。但是,如果您的应用程序变大,该体系结构存在根本性缺陷——您将浪费大量 CPU 不必要的重绘,并且最终会导致 UI 滞后。业务逻辑与图形逻辑的适当 LV 分离如下图所示。此图像是 LV 2015 的 LV 剪辑,这意味着如果您将图像保存到磁盘,然后将其直接拖放到 LV 2015 或更高版本中,代码将直接拖放。对不起,我现在没有 LV 的早期版本,所以我不能给你一个以前版本的剪辑,但下面的代码应该一直工作到 LV 6.1(大约 2001a.d.) 如果你重新编码。
如果我将图片中显示的方块放入 while 循环,一切都会失败,例如停止按钮不起作用! 有人可以向我解释如何正确使用事件吗?
谢谢
您没有连接超时终端
它如何始终等待事件并且不允许您停止循环。因为它不迭代,所以它等待。
要停止循环,您应该指定“停止”按钮事件,这样您的循环将在单击“停止”时迭代,您将能够停止它。或者你可以只指定超时,比如 100 毫秒,循环将每 100 毫秒迭代一次超时情况,即使没有事件。
同时尽量避免强制转换点(某些块附近的小红点,如 add)数据类型动态更改(I32 为双精度)但效率不高,LabVIEW 中的约定主要是手动更改数据类型.
其他答案告诉您如何修补您的代码,以便您当前的体系结构继续工作。但是,如果您的应用程序变大,该体系结构存在根本性缺陷——您将浪费大量 CPU 不必要的重绘,并且最终会导致 UI 滞后。业务逻辑与图形逻辑的适当 LV 分离如下图所示。此图像是 LV 2015 的 LV 剪辑,这意味着如果您将图像保存到磁盘,然后将其直接拖放到 LV 2015 或更高版本中,代码将直接拖放。对不起,我现在没有 LV 的早期版本,所以我不能给你一个以前版本的剪辑,但下面的代码应该一直工作到 LV 6.1(大约 2001a.d.) 如果你重新编码。