此方法用于取消超时请求。
在下列情况下使用此方法:
- 正在退出某种状态 - 超时不再相关。
- 对象已被销毁 - 在这种情况下,所有与此对象关联的计时器都已被销毁。
特征符virtual void unschedTm (short id, OMReactive *c);
参数id
指定超时请求的标识标记。如果此参数是 Constants,那么
unschedTm 将取消目标为这个特定 OMReactive 实例的所有事件。如果此参数设置为特定事件标识,那么
unschedTm 仅取消该事件。
c
指定指向 OMReactive 实例请求者的指针。取消超时后,此参数将指向所通知的实例。
备注- 在框架中,unschedTm 是一个虚方法,用于支持增强的框架定制。它还可以在系统中支持多个计时器管理器(例如,每个活动类一个)。
- 当调度超时所基于的状态已退出时,代码生成器将生成对 unschedTm 的调用。
- unschedTm 调用 timer.h 中定义的 unschedTm 方法。
- 取消超时需要执行下列两项操作中的一项:
- 从堆中删除此超时
- 通过遍历事件队列(如果已分派事件队列),在事件队列内取消此超时
- 您可以在状态图实现被覆盖的情况下使用 unschedTm。