![]() ![]() ![]() |

スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | トピック |
---|---|
nakapon | 投稿日時: 2022-5-25 14:53 |
EA Administrator ![]() ![]() 投稿: 457 |
ClassBaseについてサポート宛てにいただきましたご質問の要約です。
○ご質問 C++のコード生成テンプレートで、Class Inhertisテンプレートの 2~3行目に下記があります。 $base=%list="ClassBase" @separator=", "% $interfaces=%list="ClassInterface" @separator=", "% 最終的にはどちらもClassBaseテンプレートを 呼び出しているようですが、違いを教えてください。 ○回答 当該行につきましては、「親クラスとインターフェースの指定」画面(※)で 「モデルにない分類子を許可」を有効にし、「クラス名」にモデルにない クラス名を手入力した場合に、文字列が格納されます。 ※当該画面についてはヘルプより、Enterprise Architectの操作 > 要素 > 要素に関する操作 > 要素の親クラスを設定 をご確認ください。 テンプレートの呼び出し順としては上記画面で 「種類」が「汎化」の場合は下記1、 「種類」が「実装」の場合は下記2、 となります。 テンプレート呼び出し順 1.Class Inhertis → ClassBase ※Class Inhertisテンプレート2行目 2.Class Inhertis → ClassInterface → ClassBase ※Class Inhertisテンプレート3行目 このように ClassBase 側で呼び出し元を判断し、処理を変えています。 (EAの内部処理のため、この動作を変更することはできません) 参考情報としてヘルプより、 Enterprise Architectの拡張(SDK) > コード生成テンプレートフレームワーク > コード生成テンプレートフレームワーク > コード生成テンプレートの文法 > マクロ > テンプレート置換マクロ もご確認ください。 |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |