共通デスクトップ環境 アプリケーション・ビルダ・ユーザーズ・ガイド

生成されたコードへのユーザ・コードの追加

[コード・ジェネレータ] ウィンドウで [コードの生成] をクリックするか、コマンド行から dtcodegen を実行して展開したインタフェースのコードを生成すると、プロジェクト・フォルダに多数のファイルが生成されます。たとえば、プロジェクトが「test」という名前で、「mod1」という名のモジュールを 1 つ持っている場合、次のファイルが作成されます。

接続エディタで、[関数呼び出し] または [実行コード] 接続を行なった場合、これらの接続は生成されたコードに反映されます。ユーザによる変更が可能な生成コードのすべての領域は、次のような形式のコメント行でマークされています。

/* DTB_USER_CODE_START */      

/* DTB_USER_CODE_END */

START および END 間の領域は、「ユーザ・セグメント」と見なされます。任意のテキスト (C 以外のコードであっても) をユーザ・セグメント内に追加できます。コード・ジェネレータは、このコードを次期以降の全バージョンにおいて保持します。各ユーザ・セグメントは、そのセグメントに追加すべきコードのタイプ、またはそのセグメントの実行時におけるアプリケーションの状態を促すコメントで開始されます。この提示は、純粋に情報を提供しているだけで、無視される場合があります。

アプリケーション・ビルダもコード・ジェネレータも、ユーザが追加するコードが正当な C コードであるか確認しません。変更したファイルがコンパイラで正常に処理できるかどうかはユーザの責任です。

手作業で編集したコードをすべて破棄する場合は、コード・ジェネレータ・ウィンドウの [オプション] ダイアログから [マージ禁止] を明示的に選択するか、dtcodegen-nomerge オプション付きで実行する必要があります。これは、大量の作業が失われる可能性があるので、慎重に実行してください。

どのような環境下でも、生成されたコメントを変更しないでください。変更した場合、コード生成に失敗し、その結果のファイルはコンパイルできない可能性があります。このような状態からの復旧を補助するために、拡張子 .BAK を持つバックアップ・ファイルが現在のディレクトリに格納されます。

ユーザ・コードは機能ごとに分けて作られるので、ユーザは生成されたアプリケーションを簡単にカスタマイズできます。main() に関連するすべてのコードと、アプリケーション全体のデータおよび構造体が、projectname>.h と <projectname>.c に定義されます。これらのファイルでは、アプリケーションの Xt リソースのデータ構造にフィールドが追加され、開発者が定義した新規のデータ型および変数が追加され、アプリケーションの起動プロシージャが修正されます。

各 <modulename>_stubs.c ファイルには、生成された接続の効果を変更するためのユーザ・セグメントがあります。ユーザのコードは、自動生成されたコードの実行前と後の両方に追加されることがあります。

さらに、各ファイルの最上部には、カスタム・ヘッダまたは著作権表示を追加するのに使用できるユーザ・セグメントがあります。