RiCGEN_BY_GUI() には、CGEN_BY_GUI() と同じ効果があります。
例えば、GUI アプリケーションからインスタンス GtheFurnace に fault() イベントを送るには、以下を使用します。
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_gen() ではなく、フレームワーク・ルーチン RiCReactive_genBySender() を使用します。GUI アプリケーションでは、GUI 項目は IBM® Rational® Rhapsody® モデルの一部ではないので、イベントの送信側は認識できません。RiCReactive_genBySender() は、GUI 項目をイベントの送信側として識別できます。