Main Content

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 はサーバーです。

関連するトピック