引数を持つイベントの生成

このタスクについて

イベントが引数を持つ場合、GEN コマンドは以下のようになります。

instance->GEN(event(parameter[, parameter]*))

このコマンドの用途は以下のとおりです。

イベントが生成されると、実際の引数名およびその値が以下の形式でコール・スタックに入れられます。

instance->event(argument = parameter[,
   argument = parameter]*))

イベントが引数を持つ場合、正しい数と正しい型のパラメーターを GEN コマンドに与える必要があります。例えば、イベント XX(int, B*, char*) と定義し、BIBM® Rational® Rhapsody® で定義したクラスの場合、以下のコマンドを入力してイベントを生成できます。

A[1]->GEN(X(3,B[5],"now"))
A[1]->GEN(X(1,NULL,"later"))

イベント引数は、Rational Rhapsody で定義したクラスへのポインター、または intchar* など文字列から読み込める型にする必要があります。Rational Rhapsody の外か中で定義したユーザー定義型イベントを生成する場合、製品が入力された文字を解釈できるようその I/O ストリーム operator>>(istream&) をオーバーロードするか、テンプレート string2X(T& t) をインスタンス化する必要があります。

コマンド A[1]->GEN(Y(1))は、>> 演算子が文字「1」を自動的に整数 1 に変換するため動作しますが、コマンド A[1]‑>GEN(Y(one)) は、>> 演算子が文字「one」を整数に変換できないため動作しません。

注: 複合パラメーター (structs など) を渡し、アニメーションを使用する場合、>> 演算子をオーバーライドする必要があります。オーバーライドしないと、Rational Rhapsody はコンパイル・エラーを引き起こします。

フィードバック