Solution: 172592755 表題: WINDOWS: ANSI C++ アドインで namespace を生成する方法 製品: Rose バージョン: 2001A(7.5) OS: Windows DEFECT #: N/A PATCH #: N/A 参照事項: 成年月日: 04-Apr-2003 改訂年月日: 質問: ANSI C++のタブで [セットの編集] をクリックし、クラスカテゴリの IsNamespace を True に設定しましたが、namespace が正しく生成 されません。どうすれば良いですか。 回答: あるコンポーネントのANSI C++のタブで [セットの編集] をクリックし、 クラスカテゴリの IsNamespace を True に設定するということは、この コンポーネントに割り当てられているクラスに対して設定をしているの ではなく、モデル中にある全ての ANSI C++ のクラスに対して設定を 行っていることになります。 また、namespace は UML パッケージ 構 造 (論理ビュー パッケージを含む) を反映して生成されるため、[セット の編集] をクリックして IsNamespace を True にしてしまうと、「論理 ビュー」 という namespace まで生成されてしまいます。 正しく namespace を生成するには、namespace を生成したいクラスが 含まれているパッケージの仕様を開き ANSI C++のタブの [モデルのプ ロパティ] から IsNamespace を ダブルクリックして、True に設定します。 (注: ここでも [セットの編集] をすると、このパッケージに対してだけでは なく、モデルに含まれる全てのクラスに反映されてしまいます) 例) 論理ビュー Package1 class1 上記のような構造になっている場合、Package1 の仕様の [ANSI C++] タブで IsNamespace をダブルクリックして、True に設定した後、コード 生成すると以下のコードが生成されます。 --------------------------------------------- #ifndef CLASS1_H_INCLUDED_C187289A #define CLASS1_H_INCLUDED_C187289A namespace Package1 { //##ModelId=3E78FEA701B7 class class1 { }; } // namespace Package1 #endif /* CLASS1_H_INCLUDED_C187289A */ --------------------------------------------- ご不明な点等ありましたら、ラショナルカスタマサービスへお問い合わせ下さい。