gen 方法是一個超載的公用 (public) 方法,由傳送端物件用來將事件傳送至接收端物件。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 的參數事件
指定要傳送的事件
傳送端
指定傳送事件的物件
簽章 3 的參數theEvent
指定要傳送的事件
傳送端
指定傳送事件的物件
傳回此方法會傳回下列其中一項布林值:
- TRUE - 事件已順利排入佇列。
- FALSE - 事件未排入佇列。
附註- gen 方法通常用於您所撰寫的動作與方法內部。
- 請注意下列不同方法呼叫之間的差別:
- 第一個方法語法不會指定傳送端。gen 會先檢查以確認接收端物件是否為毀損狀態。
- 此版本的方法由下列巨集展開:
- 第二個版本的方法用來從 GUI 等外部元素傳送事件。它會將呼叫堆疊的「頂端」登錄為其傳送端。
- 此版本的方法由
OMGuard 類別 巨集展開,其同時會建立事件。- genFromISR 旗標於 ISR 期間支援在資源使用上(例如,無記憶體配置或在號誌上等待)具有限制的 RTOS(例如,VxWorks)。
- 為擴充架構自訂作業,gen 方法在 3.0 版設為虛擬。