オートメーション オブジェクト ウィザードの利用

提供: RAD Studio
移動先: 案内検索

単純な COM サーバーの作成:インデックス への移動

オートメーションオブジェクトウィザードは以下の処理を行います。

  • 新規のユニットを作成します。
  • TAutoObject を継承する新規クラスを定義し,クラスファクトリコンストラクタを設定します。基本クラスの詳細は,「ウィザードによって生成されるコード」を参照してください。
  • タイプライブラリをプロジェクトに追加し,オブジェクトとそのインターフェースをタイプライブラリに追加します。

オートメーションオブジェクトを作成するにあたって,提供する機能を含むアプリケーションのプロジェクトを作成または開きます。ニーズに応じて,アプリケーションと ActiveX ライブラリのどちらかをプロジェクトにすることができます。

オートメーションウィザードを表示する手順は次のとおりです。

  1. [ファイル > 新規作成 > その他]を選択して[新規作成]ダイアログボックスを開きます。
  2. Delphi プロジェクト の下の ActiveX というラベルがついたフォルダを選択します。
  3. 右ペインで[オートメーションオブジェクト]アイコンをダブルクリックします。
  4. ウィザードダイアログで次のデータを指定します。
  • CoClass 名:クライアントに表示されるオブジェクト名です。オブジェクトのデフォルトインターフェースは,この CoClass 名の先頭に「I」を付けた名前で作成され,オブジェクトを実装するために作成されるクラスは,この CoClass 名の先頭に「T」を付けた名前になります。
  • インスタンス生成:インプロセスサーバーを作成するのでなければ,COM オブジェクトの入ったアプリケーションを COM がどのように起動するかを指定する必要があります。アプリケーションが複数の COM オブジェクトを実装する場合,全オブジェクトに同じインスタンスの生成を指定する必要があります。
  • スレッドモデル:通常は,オブジェクトに対する複数のクライアントリクエストは,異なる実行スレッドに入ります。COM がオブジェクトを呼び出すときに,これらのスレッドをどのようにシリアル化するかを指定できます。スレッドモデルを選択すると,オブジェクトの登録方法が決まります。開発者は,自分が選択したスレッドモデルに対するスレッドサポートを提供する責任があります。アプリケーションにスレッドサポートを追加する方法については,「マルチスレッドアプリケーションの作成」を参照してください。
  • イベントサポートコードを生成する:クライアントが応答できるイベントをオブジェクトに生成させるかどうかを指定する必要があります。ウィザードは,イベント生成に必要なインターフェース,およびクライアントイベントハンドラ呼び出しのディスパッチのサポートを提供できます。

オートメーションオブジェクトは,仮想テーブルによるアーリー(コンパイル時)バインディングと IDispatch インターフェースによるレイト(実行時)バインディングを両方ともサポートするデュアルインターフェースを実装します。

関連項目