ActiveX ドキュメント
COM の基礎:インデックス への移動
ActiveX ドキュメント(以前は OLE ドキュメントと呼ばれていました)は,リンクと埋め込み,ドラッグアンドドロップ,およびビジュアル編集をサポートする COM サービスのセットです。ActiveX ドキュメントは,形式が異なるデータまたはオブジェクト(サウンドクリップ,スプレッドシート,テキスト,ビットマップなど)をシームレスに統合できます。
ActiveX コントロールとは異なり,ActiveX ドキュメントはインプロセスサーバーに限定されずクロスプロセスアプリケーションでも使用できます。
また,オートメーションオブジェクトがビジュアルな場合はほとんどありませんが,ActiveX ドキュメントオブジェクトはほかのアプリケーションでビジュアルに操作できます。したがって,ActiveX ドキュメントオブジェクトは 2 種類の型のデータと関連付けられます。ディスプレイまたは出力デバイスでオブジェクトをビジュアルに表示するために使用されるプレゼンテーションデータと,オブジェクトの編集に使用されるネイティブデータです。
ActiveX ドキュメントオブジェクトは,ドキュメントコンテナの場合もドキュメントサーバーの場合もあります。Delphi は ActiveX ドキュメントを作成するための自動ウィザードを提供していませんが,VCL クラス Vcl.OleCtnrs.TOleContainer を使用すれば,既存の ActiveX ドキュメントのリンクと埋め込みをサポートできます。
TOleContainer を ActiveX ドキュメントコンテナの土台として使用することもできます。ActiveX ドキュメントサーバー用のオブジェクトを作成するには,COM オブジェクトウィザードを使用し,オブジェクトがサポートする必要のあるサービスに応じて適切なインターフェースを実装します。ActiveX ドキュメントサーバーの作成と使い方の詳細は,Microsoft ActiveX Web サイトを参照してください。
メモ: ActiveX ドキュメント仕様には,クロスプロセスアプリケーションにおけるマーシャリングのサポートが組み込まれていますが,ActiveX ドキュメントはマシン上のシステムに固有の型(ウィンドウハンドル,メニューハンドルなど)を使用するので,リモートサーバー上では実行されません。