掲示板一覧   -   トピック一覧
   EA ソースコード生成・コード生成テンプレート
     C言語の#defineが複数出力される


スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 トピック
sugimoto
投稿日時: 2012-2-24 15:29
EA Administrator
投稿: 1992

C言語の#defineが複数出力される

サポートに寄せられたご指摘の要約です。

○ご指摘

タグ付き値defineを設定してC言語のコード生成を繰り返し行うと、
#defineのコードが複数箇所に出力されてしまいます。

#defineの出力は、ヘルプ「Cの追加情報」に従って実施しました。
#defineの出力が重複するのを回避する方法があれば教えて下さい。

○回答

現在、ソースコードの生成モードを同期にされていると思います。
(メインメニューから「ツール」→「オプション」の"ソースコードの
生成と読み込み"ページにあります「既存のファイルと同期する」が
該当します。)

この場合は、モデルに追加や変更があった場合に、その部分のみ
ソースコードに反映するモードになります。

今回のように何も変更していないにも関わらず追加されてしまうのは、
考慮漏れのバグの可能性がありますので、開発元に連絡し改善を依頼いたします。


現状の回避策としましては、ソースコードの生成モードを上書きモード
(「既存のファイルを上書き」)にしていただくことがあります。

ただ、上書きモードにしますと、現在のファイル内容を破棄し、
1からソースを生成することになりますので、ソースコードにメソッドの中身を
追加している場合は、その内容が消えてしまいます。

この場合は、メインメニューから「ツール」→「オプション」の"属性と操作"
ページにあります「読み込み時に操作の実装もモデルに読み込む」を有効にし、
その後、ソースコードを読み込むことで、EAPファイルの操作にメソッドの中身が
読み込まれます。
(具体的には、操作のプロパティ画面の"振る舞い"グループの「既定のソースコード」欄
にメソッドの中身が格納されます。)

この状態で、上書きモードで生成しますと、define文は1つのみ、かつメソッドの
中身も生成されます。

まずは、お試しいただき、この利用方法で問題ないようでしたら上書きモード
およびメソッドの中身を読み込むオプションで回避いただきたくお願いいたします。

同期モードで生成した場合にdefine文が複数生成されてしまう件につきましては、
修正され次第、ご連絡いたします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ