FAQ
COM コンポーネント カテゴリへのクラスの登録

ナレッジ番号:5258 | 登録日:2023/07/26 | 更新日:2023/12/28

サマリ

このトピックは、特定のカテゴリに .NET コンポーネントを登録するさまざまな方法について概要を説明します。

内容


COM コンポーネント カテゴリへのクラスの登録について

ArcGIS の拡張のほとんどはコンポーネント オブジェクト モデル(COM)カテゴリによるものです。例えば ArcMap のすべてのコマンドとツールは ESRI Mx Commends コンポーネント カテゴリに登録されています。

.NET コンポーネントを登録する方法

以下は、.NET コンポーネントをカテゴリに登録するさまざまな方法です。

  • コンポーネントが COM に登録される時に、そのクラスを自動的にコンポーネント カテゴリに登録するコードを .NET クラスに追加します。
    • ArcGIS Visual Studio 統合開発環境(IDE)統合フレームワークの一部である [ArcGIS Component Category Registrar] ダイアログ ボックスを使用して、クラスにコードを追加し、自動的にコンポーネント カテゴリにコンポーネントを登録します。このダイアログ ボックスは ESRI.ARCGIS.ADF.Local アセンブリのクラスを使用して、登録の実行を手助けします。詳細については、 ArcGIS Component Category Registrar dialog box  と  ArcGIS Visual Studio IDE Integration Framework for extending ArcObjects をご覧ください。
  • ArcGIS アプリケーションの [ユーザ設定] ダイアログ ボックスを使用して、コマンド、ツール、ツール バーを追加します。このダイアログ ボックスの [ファイルから追加] ボタンをクリックし、カスタマイズのために作成されたタイプ ライブラリ(.tlb)ファイルを参照して、それを開きます。これにより、ArcGIS フレームワークがタイプ ライブラリから選択したクラスを適切なコンポーネント カテゴリに追加します。
    • このメソッドはコマンド アイテム(コマンド、ツール、ツール バー)を含むものの、自動登録コードをもっていない、既存のコンパイル済みコンポーネントを使用したい時に役に立ちます。

.NET コンポーネントに対しては、.dll ファイルの代わりにタイプ ライブラリを選択します。

  • コンポーネント カテゴリ マネージャ(categories.exe)ユーティリティを使用します。 この場合、適切なコンポーネント カテゴリをユーティリティから選択し、タイプ ライブラリを参照して適切なクラスを選びます。ユーティリティは ArcGIS Desktop のインストール場所の bin フォルダにあります。
    • このメソッドは、カスタム クラスを含んでいるものの、自動登録コードをもっていない既存のコンパイル済みコンポーネントを使用したい時に役に立ちます。

categories.exe を使用する場合は、登録を完了するのに esriRegAsm(ArcGIS 10で利用可)の呼び出しを必要としません。categories.exe では ArcGIS Desktop と ArcGIS Engine 製品の両方に対する登録が可能ですが、ArcGIS Desktop がインストールされている場合にのみ利用可能です。さらに、.dll ファイルが生成したタイプ ライブラリ ファイル(.tlb)が、.dll ファイルの傍らに存在している必要があります。

どの方法でカテゴリ登録を行っても、行われる動作は基本的に同じです。

参照:

COM コンポーネントを登録する方法

ESRIRegAsm ユーティリティ


追加要件

コンポーネントをコンポーネント カテゴリに登録するためには、まず COM に登録する必要があります。


この文書は、ArcObjects Help for .NET Developers 内のトピック  Registering classes in COM component categories を元に翻訳したものです。

メタデータ

種類

製品