From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



为什么我开发的LabWindows™/CVI 程序中用户界面在移动窗口时候会锁死?



主要软件:
主要软件版本: 2009
主要软件修正版本: N/A
次要软件: N/A

问题: 在运行一个LabWindows/CVI 的定时程序时候,在移动用户界面窗口并且保持鼠标左键在窗口栏按下时,程序停止运行。为什么这种操作导致程序暂停运行?

解答:

这种情况在使用CVI 定时器控件去控制代码执行时候会发生。CVI的定时控件在用户界面线程中运行,因此,在移动窗口并且保持鼠标左键按下时候,也运行在用户界面线程中,当鼠标保持按下时,左键的点击响应在鼠标释放之前就是没有完成的,这就导致用户界面线程中的所有代码,这也包括了CVI的定时控制都被临时挂起。

为了 避免这种情况的发生,可以使用CVI异步定时器在一个单独的线程中运行防止用户界面的响应导致定时器的延迟。你可以<CVI>\samples\toolbox中找到范例asyncdem.cws 来对比两种不同的定时方式。



相关链接: Knowledge Base 23S9AS5I: Asynchronous Timers in LabWindows/CVI

附件:





报告日期: 06/25/2010
最近更新: 02/14/2014
文档编号: 5AOGHCQL