カスタムコンポーネントのトラブルシューティング(C++)
カスタムコンポーネントを登録したり,インストールする場合によく発生する問題は,パッケージが正常にインストールされたにもかかわらず,コンポーネントリストにコンポーネントが表示されないことです。
リストやパレットにコンポーネントが表示されない原因として一般に考えられることは次のとおりです。
- Register 関数に PACKAGE 修飾子が記述されていない
- クラスに PACKAGE 修飾子が記述されていない
- C++ ソースファイルに #pragma package(smart_init) が記述されていない
- Register 関数が,ソースコードモジュール名と同じ名前で名前空間に記述されていない
- Register がうまくエクスポートされていない。エクスポートされた関数を検索するには,.BPL に対して tdump を使用します。
tdump -ebpl mypack.bpl mypack.dmp
ダンプの exports 節に,エクスポートされた Register 関数が名前空間内に記述されているはずです。