MATLAB COM の統合
概念と用語
COM テクノロジーの概念は単純でわかりやすいものですが、用語は簡単には理解できません。COM 用語の意味は時と共に変わるため、簡潔な定義といったものはほとんど存在しません。知っておくべきいくつかの用語をここに挙げます。これらは包括的な定義ではありません。COM の詳細な説明は、他社の資料を参照してください。
COM オブジェクト、クライアントおよびサーバー
COM "オブジェクト" とは、コンポーネント オブジェクト モデルに適合するソフトウェア コンポーネントのことです。COM は、オブジェクトをカプセル化することで、そのデータと実装に直接アクセスできないように制限します。COM オブジェクトは、プロパティ、メソッドおよびイベントで構成されるインターフェイスを公開します。
COM "クライアント" は、COM オブジェクトを使用するプログラムです。使用機能を公開する COM オブジェクトは COM "サーバー" と呼ばれます。COM サーバーは、インプロセスまたはアウトプロセスである可能性があります。アウトプロセス サーバーの一例は、Microsoft® Excel® スプレッドシート プログラムです。
MATLAB® は、COM クライアントとしても COM オートメーション サーバーとしても使用できます。
インターフェイス
コンポーネントの機能性は、1 つ以上のインターフェイスにより定義されます。COM コンポーネントを使用するには、そのインターフェイスについて学び、そしてコンポーネントによって実装されるメソッド、プロパティおよびイベントについて学ばなければなりません。この情報はコンポーネント ベンダーが提供します。
以下の 2 つの標準 COM インターフェイスがあります。
IUnknown
— すべての COM コンポーネントに必要とされるインターフェイス。その他すべての COM インターフェイスは、IUnknown
から派生します。IDispatch
— オートメーションをサポートするアプリケーションにオブジェクト、メソッドおよびプロパティを公開するインターフェイス。
MATLAB COM クライアント
COM クライアントは、COM オブジェクトを操作するプログラムです。これらのオブジェクトは、MATLAB アプリケーション内で実行することができ、またオブジェクトをプログラム インターフェイスとしてアプリケーションに公開する別のアプリケーションの一部とすることもできます。
MATLAB を COM クライアントとして使用すると、MATLAB では以下の 2 つの手法でプログラムを開発できます。
COM コンポーネントを MATLAB アプリケーション (たとえば、スプレッドシート) に含めることができます。
オートメーションを介して、オブジェクトを表示する既存のアプリケーションにアクセスできます。
MATLAB COM クライアントは、Excel スプレッドシート プログラムなど、オートメーションをサポートするアプリケーションにアクセスできます。MATLAB は、アプリケーションを実行し、作成されたオブジェクトのプライマリ インターフェイスにハンドルを返すためのオートメーション サーバーを作成します。
MATLAB COM オートメーション サーバー
"オートメーション" は、オートメーション コントローラーと呼ばれるアプリケーションが、オートメーション サーバーと呼ばれる他のアプリケーションによってエクスポートされた共有のオートメーション オブジェクトにアクセスして、操作 (つまり、プロパティの設定またはメソッドの呼び出し) のできるインフラストラクチャを提供します。オートメーション コントローラーとして構成可能な任意の Windows® プログラムで MATLAB を制御できます。
たとえば、Microsoft Visual Basic® プログラミング言語を使って、MATLAB スクリプトを Microsoft PowerPoint® プレゼンテーションで実行できます。この場合、PowerPoint はコントローラーで、MATLAB はサーバーです。