CVI GUI 中的定时函数
Timed functions in CVI GUI
我正在 Windows CVI 中开发一个应用程序,它需要 运行 一些代码用于用户通过文本输入框设置的一系列时间间隔。这些方框包括三个用于 运行 每个进程的时间,一个用于显示进程将花费的总时间,以及一个用于显示剩余时间。
我目前的实现是有一个带有静态变量的函数来跟踪哪个进程正在 运行ning 以及当前进程还剩多长时间,然后在该时间过去后继续。此功能在按下开始按钮时触发。不幸的是,代码在单击开始按钮时停止,因为它似乎在等待代码完成执行才能允许任何进一步的输入。
有没有“正确”的方法来做到这一点?也许是多线程或预建定时器应用程序?
得到了答案here:“你说的定时器是正确的:在你的面板上放置一个定时器控件,将其设置为禁用,将你的代码放在定时器回调中并且运行 程序。当用户输入所需的时间时,将定时器的 ATTR_INTERVAL 属性设置为该值,然后使用 ATRT_ENABLED 属性启用定时器,您将启动定时功能并 运行宁!
我正在 Windows CVI 中开发一个应用程序,它需要 运行 一些代码用于用户通过文本输入框设置的一系列时间间隔。这些方框包括三个用于 运行 每个进程的时间,一个用于显示进程将花费的总时间,以及一个用于显示剩余时间。
我目前的实现是有一个带有静态变量的函数来跟踪哪个进程正在 运行ning 以及当前进程还剩多长时间,然后在该时间过去后继续。此功能在按下开始按钮时触发。不幸的是,代码在单击开始按钮时停止,因为它似乎在等待代码完成执行才能允许任何进一步的输入。
有没有“正确”的方法来做到这一点?也许是多线程或预建定时器应用程序?
得到了答案here:“你说的定时器是正确的:在你的面板上放置一个定时器控件,将其设置为禁用,将你的代码放在定时器回调中并且运行 程序。当用户输入所需的时间时,将定时器的 ATTR_INTERVAL 属性设置为该值,然后使用 ATRT_ENABLED 属性启用定时器,您将启动定时功能并 运行宁!