gen 方法是一种重载公共方法,由发送方对象用于将事件发送到接收方对象。
gen 首先检查接收方对象是否正在销毁。
在不受检测代码中,调用 gen(OMEvent) 始终可以满足需要。
如果包含了 notifyContextSwitch 方法,那么此调用在受检测代码中也可以满足需要。
多线程受检测应用程序应使用调用
gen(OMEvent* event, void* sender)。
如果发送方是 GUI 元素,使用语法 gen(theEvent,
OMGUI)。OMGui 是在文件 aoxf.h 定义的。
特征符virtual OMBoolean gen (OMEvent *event,
OMBoolean genFromISR = FALSE);
virtual OMBoolean gen (OMEvent *event, void * sender);
void gen (AOMEvent *theEvent, void * sender)
特征符 1 的参数事件
为将发送给反应对象的事件指定指针。
genFromISR
指示事件是否来自操作系统中断服务请求 (ISR)。如果是,需要特殊处理。
特征符 2 的参数事件
指示要发送的事件
sender
指定发送事件的对象
特征符 3 的参数theEvent
指示要发送的事件
sender
指定发送事件的对象
返回此方法返回以下某个布尔值:
- TRUE - 事件已成功排队。
- FALSE - 事件未排队。
备注- gen 方法通常在您编写的操作和方法中使用。
- 请注意不同方法调用之间的以下差别:
- 第一个方法语法不指定发送方。gen 首先检查接收方对象是否正在销毁。
- 以下宏会扩展此版本的方法:
- 第二版的方法用于发送来自外部元素的事件,如 GUI。它会将调用堆栈的“顶部”注册为其发送方。
- OMGuard 类 宏会扩展此版本
的方法,这个宏还会创建事件。- genFromISR 标志支持在 ISR 期间具有资源使用限制(例如,无内存分配或信标等待)的 RTOS(例如,VxWorks)。
- 为扩展框架定制,在 V3.0 中 gen 方法设置为虚拟。