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 项标识为事件的发送方。