コードファイルがメインモジュールファイルと合致しないと認識されました。
コードファイルには、インタフェースを作成するための関数が生成されています。 この関数は X アプリケーションを初期化するためのさまざまな標準ルーチンが呼び出された後に、 メインモジュールファイルによって呼び出されます。
つまり、メインモジュールファイルがコードファイルを正しく認識するには、 Sun WorkShop Visual によって生成される GUI 構成要素を宣言したファイルが、コードファイル中に インクルードされていなければなりません。インクルードファイルには、Sun WorkShop Visual によって 生成される手続きの内容指定、デザイン中の外部参照可能なウィジェット、クラス、および データ構造体の宣言が含まれている必要があります。
この宣言ファイルを生成するには、「コード生成」ダイアログのコードファイルとメインモジュールファイルの名前を指定した ページで、「外部宣言」テキストフィールドにファイル名を入力し、その横にある「生成」トグルをオンに してください。
宣言ファイルの指定だけでなく、そのファイルをコードファイルとメインモジュールファイルがインクルードすること
も指定しなければなりません。つまり、宣言ファイルをインクルードするための #include
行が
生成されるソースコードファイルに挿入される必要があります。
この指定は、「コード生成」ダイアログの右上にある「オプション」ボタンを押すと表示される C または C++
コードのオプションダイアログで行います。このダイアログには、トグルボタンと、#include
文で
インクルードされるファイル名を指定するテキストフィールドがあります。外部宣言ファイル名としては、
「コード生成」ダイアログで指定したものがデフォルトでテキストフィールドに表示されています。必要な処理は、
テキストフィールドの横の「生成」トグルをオンにするだけです。
指定したファイルへの宣言の生成が Sun WorkShop Visual によって行われるのなら、なぜ生成された ソースファイルに自動的にその外部宣言ファイルがインクルードされないのかと疑問に思われることでしょう。
これは、柔軟性を持たせるために意図的に設定されていることなのです。外部宣言を extern.h
ファイル
に生成できるからといって、必ずしも #include externs.h
文をコード中に
含めなければならないわけではありません。つまり、生成するファイルの名前とインクルードするファイルの名前は
同じでなくてもかまいません。これは、Sun WorkShop Visual が生成したクラスをサブクラス化したい場合や、
そのクラスに自分で定義した内容を含めて、クライアントデータとしてさまざまなコールバックに渡したい場合に
役に立ちます。このようにして、ユーザーが作った外部宣言ファイルも、Sun WprkShop Visual によって
自動的に、生成されたソースコードにインクルードされるようにできます。
ただし上記のことは「インクルードファイルと生成された外部宣言ファイルの名前を別々に指定した場合は、 ユーザーが使用するヘッダーファイルが (直接でも間接でも) Sun WprkShop Visual が生成した外部宣言 ファイルをインクルードする」ということを前提としています。
関連項目: