掲示板一覧 - トピック一覧 EA ソースコード生成・コード生成テンプレート
コード生成テンプレート編集時にソースに属性が増加する |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
| 投稿者 | トピック |
|---|---|
| tkouno | 投稿日時: 2006-5-24 17:18 |
EA Administrator ![]() ![]() 投稿: 3939 |
コード生成テンプレート編集時にソースに属性が増加する5月24日にサポートに頂きましたご質問のまとめです。
○ご質問 コード生成テンプレートのAttribute Declarationにおいて %attName% という行を m_%attName% のように変更すると、コードの同期生成時にどんどん属性がふえてしまいます。 回避方法はあるのでしょうか? ○回答 ご指摘どおりの現象を確認しました。 調査した結果、現時点では回避できないようです。 Enterprise Architectの内部の挙動は次のとおりになっています。 1. 出力対象の属性が定義済みかどうか、既存のヘッダファイルを確認する 2. ない場合には、定義を追加することを決定する 3. 定義の追加方法については、コード生成テンプレートの内容に従う つまり、attrを例にしますと、 1. まず、attrが定義されているかどうかを探す (→m_attrはあるけどattrは存在しない) 2. attrを追加することを決定する 3. 出力時には、テンプレートに従い属性の名前の前にm_を出力する となります。テンプレートは、あくまでも出力のフォーマットであり その意味については解析されません。今回であれば、最終的にm_が 付加されることになりますが、処理の1番の段階では、これは考慮されません。 申し訳ございませんが、現時点では対応不可能と思われます。 また、すぐに修正することも難しいです。 (テンプレートはあくまでも出力の書式であり、意味的な解釈はしていないので) 対応策として、次のような方法がございます。 1. メインメニューから「ツール」→「オプション」を実行して ローカルオプションダイアログを表示させ、左側のツリーから「属性と操作」を 選択してください。 右側の設定の中に「コード生成時にモデルにない属性と操作の削除を確認する」と いう項目がございますのでチェックを入れてください。 そうしますと、コード生成時にダイアログが表示されます。ここで、手動で attrとm_attrの関係を指示すれば、Enterprise Architect側で理解できるように なります。 ただ、この方法は、属性が多数ある場合には操作の手間がかかり、現実的では ありません。 2. 属性の名前にm_attrを、別名にattrを指定し、ダイアログでは別名で 表示します。 この方法であれば問題はありませんが、設定と同期の手間がかかります。 3. ソースコードを同期する設定ではなく、常に上書きする設定にします。 この場合には問題は解決しますが、いわゆるラウンドトリップ開発は できません。 いずれの方法も完全な回避策ではなく、申し訳ございません。 属性の名前を出力時に変えるというのは、テンプレートの使い方として 想定しておらず、申し訳ございません。 ご希望に沿うことができず、申し訳ございません。 |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |




