掲示板一覧 - トピック一覧 EA ソースコード生成・コード生成テンプレート
名前空間がある場合の前方参照 |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
| 投稿者 | トピック |
|---|---|
| tkouno | 投稿日時: 2010-4-8 10:52 |
EA Administrator ![]() ![]() 投稿: 3939 |
名前空間がある場合の前方参照○ご質問
以下のサポートフォーラムの記事を参考にして 前方参照の出力を作成しました。 https://www.sparxsystems.jp/forum/modules/xhnewbb/viewtopic.php?topic_id=1460&viewmode=flat ただ、名前空間の出力を有効にしたときに 文法エラーになってしまいます。 対処方法はありますか? ○回答 ご質問の件につきましては、コード生成テンプレートを カスタマイズすることで対応可能です。 最低限の結果を出すまでの手順をお知らせしますので、この内容を元に ご希望の結果になるようにカスタマイズしてみてください。 1. サポートフォーラムにある記事のXMLファイルを読み込み、前方宣言を出力するようにします。 2. 左下にある「新規テンプレートの追加」ボタンを押し、テンプレートを追加します。 種類は「Namespace」、テンプレート名は「ForwardDeclare」としてください。 3. このテンプレートの中身は、以下のようにします。 -----ここから %if packagePath == "" or genOptCPPGenNamespace != "T"% %endTemplate% namespace %packageName% { %list="Namespace__ForwardDeclare" @indent="\t"% %ImportSection% } -----ここまで この内容は、既存のNamespaceテンプレートの内容からコピーしたものです。 ただし、Namespaceの処理の部分であるlistマクロで、自分自身を 呼ぶようにしています。また、クラスの処理の代わりに、前方宣言を 処理している%ImportSection%マクロを呼んでいます。 4. 最後に、このテンプレートを呼ぶように、Fileテンプレートを カスタマイズします。今まで%ImportSection%を呼んでいる部分で、 代わりに今回作成したテンプレートを呼ぶようにします。 %list="Namespace__ForwardDeclare" @separator="\n\n"% 以上で、ご希望の結果になります。改行の数やタブの制御などで 不完全な部分がありますので、このあたりはぜひさらにカスタマイズして ご要望に沿う形にしてみてください。 ぜひお試しください。 |
| スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |




