RiCGEN_BY_GUI() 與 CGEN_BY_GUI() 的效果相同。
例如,若要將 fault() 事件從 GUI 應用程式傳送至 GtheFurnace 實例,請使用:
RiCGEN_BY_GUI(GtheFurnace, fault());
#define RiCGEN_BY_GUI(INSTANCE,EVENT) \
{\
if ((INSTANCE) != NULL) { \
RiCReactive * reactive = &((INSTANCE)->ric_reactive);\
RiCEvent * event = &(RiC_Create_##EVENT->ric_event); \
RiCReactive_genBySender(reactive, event, RiCGui); \
} \
}
RiCGEN_BY_GUI() 使用架構常式 RiCReactive_genBySender() 而非 RiCReactive_gen() 來實際傳送事件。利用 GUI 應用程式,GUI 項目不是 IBM® Rational® Rhapsody® 模型的一部分,因此事件的寄件者不明。RiCReactive_genBySender() 可以將 GUI 項目識別為事件的寄件者。