清空事件队列函数
- 更新时间2025-03-14
- 阅读时长6分钟
放弃一个或多个事件队列中最早的通知事件。如要放弃的事件队列包含过滤事件,该函数将在队列的第一个过滤事件停止,仅放弃停止前发生的事件。

输入/输出
![]() 最早事件时间是事件时间标识,是要开始保持事件的时间,以毫秒为单位。该函数将丢弃该指定时间之前的所有事件。毫秒计时可接受时间计数器(ms)函数返回的值。 ![]() 事件注册引用句柄是与要清空的队列相关的事件注册引用句柄的引用。也可连线事件注册引用句柄簇以刷新多个队列。除非“清空事件队列”函数位于事件结构的事件分支中,否则该输入是必需的。在该分支中,函数将清空包围事件结构的静态事件队列。如该输入已连线,且“清空事件队列”函数位于事件结构的事件分支中,且包括静态事件?未连线或为TRUE,函数将清空与已连线引用句柄关联的动态事件队列和事件结构的静态队列。 ![]() 包含静态事件?指定清空操作是否包括事件结构队列中的静态事件。如将清空事件队列函数置于事件结构的某个事件分支,默认值为TRUE。否则,默认值为FALSE。 注: 如连接包括静态事件?,必须将该函数放置在事件结构之内。事件结构将处理或忽略静态事件。
![]() ![]() 错误输入表明该节点运行前发生的错误条件。该输入将提供标准错误输入功能。 ![]() 保留最新项指定在事件队列中保留的最新事件的数量。如连接事件类型或对象,保留最新项仅影响指定类型的事件。如清空一个以上事件队列,保留最新项包括所有指定事件队列的事件数量的总和。 注: 如不连接最早事件时间和保留最新项,函数丢弃所有队列中符合事件类型或对象的事件。如连接接最早事件时间和保留最新项,函数将保留指定事件开始的指定数量的事件。
![]() 事件注册引用句柄输出返回与清空的事件队列相关的事件注册引用句柄。 ![]() 被放弃事件的数量返回丢弃事件的总数。 ![]() 错误输出包含错误信息。该输出提供标准错误输出功能。 |
对于事件快速连续发生,但仅需最新事件的应用程序(例如,“鼠标移动”或“前面板大小调整”事件),可放弃较早事件,使应用程序更快响应较新的事件数据。
下面的范例显示了连线数据至事件类型或对象参数的方法,指定“清空事件队列”函数放弃事件的方式。注意,范例中未显示事件注册引用句柄参数的用法,因此需将该代码放置在事件结构的事件分支中,或连线该输入至合适的事件注册引用句柄以正常运行。
范例1:放弃多个事件类型
如要放弃多个事件类型(例如,“鼠标按下”和“鼠标释放”),可连线事件类型枚举数组或簇至事件类型或对象,如下所示。

“清空事件队列”放弃“鼠标按下”和“鼠标释放”事件,与事件源无关。但是,由于常量值1连接至保留最新项参数,函数将在事件队列中保留一个最新的“鼠标按下”或“鼠标释放”事件。同时,函数总共仅保留一个事件,而不是为每个事件类型保留一个事件。
范例2:放弃特定对象生成的事件
可将指向某个生成事件、用户事件引用句柄以及相关事件引用句柄对象的VI服务器引用连线至事件类型或对象输入端,仅放弃特定对象生成的事件。如要放弃多个对象的事件,可使用引用句柄数组或簇,如下所示。

“清空事件队列”将放弃所有链接至引用的对象生成的任意类型事件,引用捆绑在簇中。
范例3:放弃特定对象生成的特定事件
如要仅在特定对象生成某个事件时放弃该事件,可捆绑含有待放弃事件类型的枚举和指向生成该事件的对象的引用句柄。还可创建事件类型枚举/对象对的簇或数组,放弃与多个对象相关的多个事件,如下所示。



