ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

MATLAB COM の統合

概念と用語

COM テクノロジーの概念は単純でわかりやすいものですが、用語は簡単には理解できません。COM 用語の意味は時と共に変わるため、簡潔な定義といったものはほとんど存在しません。知っておくべきいくつかの用語をここに挙げます。これらは包括的な定義ではありません。COM の詳細な説明は、他社の資料を参照してください。

COM オブジェクト、クライアントおよびサーバー

COM "オブジェクト" とは、コンポーネント オブジェクト モデルに適合するソフトウェア コンポーネントのことです。COM は、オブジェクトをカプセル化することで、そのデータと実装に直接アクセスできないように制限します。COM オブジェクトは、プロパティ、メソッドおよびイベントで構成されるインターフェイスを公開します。

COM "クライアント" は、COM オブジェクトを使用するプログラムです。使用機能を公開する COM オブジェクトは COM "サーバー" と呼ばれます。COM サーバーは、インプロセスまたはアウトプロセスである可能性があります。アウトプロセス サーバーの一例は、Microsoft® Excel® スプレッドシート プログラムです。

Microsoft ActiveX® コントロールは、コントロール コンテナーを必要とするインプロセス COM サーバーの一種です。ActiveX コントロールには通常ユーザー インターフェイスがあります。例としては、Microsoft カレンダー コントロールがあります。コントロール コンテナーは、ActiveX コントロールをホストできるアプリケーションです。MATLAB® Figure ウィンドウや Simulink® モデルはコントロール コンテナーの例です。

MATLAB は、COM クライアントとしても COM オートメーション サーバーとしても使用できます。

インターフェイス

コンポーネントの機能性は、1 つまたは複数のインターフェイスにより定義されます。COM コンポーネントを使用するには、そのインターフェイスについて学び、そしてコンポーネントによって実装されるメソッド、プロパティおよびイベントについて学ばなければなりません。この情報はコンポーネント ベンダーが提供します。

以下の 2 つの標準 COM インターフェイスがあります。

  • IUnknown — すべての COM コンポーネントに必要とされるインターフェイス。その他すべての COM インターフェイスは、IUnknown から派生します。

  • IDispatch — オートメーションをサポートするアプリケーションにオブジェクト、メソッドおよびプロパティを公開するインターフェイス。

MATLAB COM クライアント

COM クライアントは、COM オブジェクトを操作するプログラムです。これらのオブジェクトは、MATLAB アプリケーション内で実行することができ、またオブジェクトをプログラム インターフェイスとしてアプリケーションに公開する別のアプリケーションの一部とすることもできます。

MATLAB を COM クライアントとして使用すると、MATLAB では以下の 2 つの手法でプログラムを開発できます。

  • COM コンポーネントを MATLAB アプリケーション (たとえば、スプレッドシート) に含めることができます。

  • オートメーションを介して、オブジェクトを表示する既存のアプリケーションにアクセスできます。

典型的なシナリオでは、MATLAB は Figure ウィンドウに ActiveX コントロールを作成し、MATLAB はコントロールのプロパティ、メソッドおよびイベントを通じてこれを操作します。ActiveX コントロールとして実装されるさまざまなグラフィカル ユーザー インターフェイス コンポーネントが存在するため、これは有益です。たとえば、Microsoft Internet Explorer® プログラムは、Figure に含めて HTML ファイルを表示することができるオブジェクトを公開します。さまざまなソースからツリービュー、スプレッドシートおよびカレンダーも利用できます。

MATLAB COM クライアントは、Excel スプレッドシート プログラムなどのオートメーションをサポートするアプリケーションにアクセスできます。この場合、MATLAB は、アプリケーションを実行し、作成されたオブジェクトのプライマリインターフェイスにハンドルを返すためのオートメーション サーバーを作成します。

MATLAB COM オートメーション サーバー

"オートメーション" は、オートメーション コントローラーと呼ばれるアプリケーションが、オートメーション サーバーと呼ばれる他のアプリケーションによってエクスポートされた共有のオートメーション オブジェクトにアクセスおよび操作できる (つまり、プロパティを設定またはメソッドを呼び出す) インフラストラクチャを提供します。オートメーション コントローラーとして構成可能な任意の Windows® プログラムで MATLAB を制御できます。

たとえば、Microsoft Visual Basic® プログラミング言語を使って、MATLAB スクリプトを Microsoft PowerPoint® プレゼンテーションで実行できます。この場合、PowerPoint はコントローラーで、MATLAB はサーバーです。

詳細

この情報は役に立ちましたか?