ドキュメンテーション

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

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

MATLAB® と連携して動作する COM アプリケーションの記述

オートメーションは、あるアプリケーション ("コントローラー" または "クライアント") が別のアプリケーション ("サーバー") によってエクスポートされたオブジェクトを制御できるようにする COM プロトコルです。MATLAB は、Microsoft® Windows® オペレーティング システム上の COM オートメーション サーバー機能をサポートしています。オートメーション コントローラーとして構成可能な任意の Windows プログラムで MATLAB を制御できます。たとえば、Microsoft Excel®Microsoft Access™Microsoft Visual Basic®Microsoft Visual C++® プログラムの多くなどです。

C/C++ または Fortran を使用してクライアント アプリケーションをビルドする場合は、オートメーション サーバーの代わりに MATLAB エンジン アプリケーションを使用します。

関数

actxGetRunningServerオートメーション サーバーの実行インスタンスのハンドル
enableserviceMATLAB オートメーション サーバーを有効または無効にする、その状態を表示する
ExecuteMATLAB コマンドをオートメーション サーバーで実行
Fevalオートメーション サーバーで MATLAB 関数を評価する
GetCharArrayオートメーション サーバーからの文字配列
GetFullMatrixオートメーション サーバーのワークスペースからの行列
GetVariableオートメーション サーバーのワークスペース内の変数からのデータ
GetWorkspaceDataオートメーション サーバーのワークスペースからのデータ
MaximizeCommandWindowオートメーション サーバー ウィンドウを開く
MinimizeCommandWindowオートメーション サーバー ウィンドウのサイズを最小化する
PutCharArrayオートメーション サーバーに文字配列を格納
PutFullMatrixオートメーション サーバー ワークスペースの行列
PutWorkspaceDataオートメーション サーバー ワークスペースのデータ
QuitMATLAB オートメーション サーバーを終了する
regmatlabserver現在の MATLAB をオートメーション サーバーとして登録する

例および操作のヒント

Visual Basic .NET からの MATLAB 関数の呼び出し

この例では、COM インターフェイスを通じて Microsoft Visual Basic クライアント アプリケーションから MATLAB 関数を呼び出します。

C# クライアントからの MATLAB 関数の呼び出し

この例では、ユーザー定義の MATLAB 関数 myfunc を C# アプリケーションから呼び出す方法を説明します。

C# クライアントから MATLAB への複素数データの受け渡し

この例では、クライアントである C# プログラムに複素数データを作成し、それを MATLAB に渡します。

Visual Basic .NET オブジェクト ブラウザーでの MATLAB 関数の表示

Microsoft Visual Basic クライアント アプリケーションのオブジェクト ブラウザーを使用して、MATLAB オートメーション サーバーから利用できるメソッドを見つけることができます。

デスクトップ モードでオートメーション サーバーとして MATLAB を開始

フル デスクトップ モードで COM オートメーション サーバーとして MATLAB を開始するには、プログラム識別子 Matlab.Desktop.Application を使用します。

オートメーション サーバーの手動作成

Microsoft Windows オペレーティング システムでは、コントローラー アプリケーションがサーバーとの接続を最初に確立したときにオートメーション サーバーが自動的に作成されます。

概念

MATLAB のオートメーション サーバーとしての登録

MATLAB をオートメーション サーバーとして使用するには、まずアプリケーションを Windows レジストリに登録しなければなりません。

MATLAB COM オートメーション サーバー インターフェイス

COM オートメーション サーバーとして MATLAB ソフトウェアを構成する方法

MATLAB サーバーの作成

サーバーを作成するには、サーバーを識別するプログラム識別子 (ProgID) が必要です。

既存の MATLAB サーバーへの接続

MATLAB でアプリケーションがタスクを実行するたびに、MATLAB サーバーの新しいインスタンスを必ずしも作成する必要はありません。

MATLAB 型から COM 型への変換

MATLAB による MATLAB 型から COM 型へのデータ変換方法。

COM 型から MATLAB 型への変換

MATLAB による COM アプリケーションから MATLAB 型へのデータ変換方法。

共有サーバーまたは専用サーバー

MATLAB オートメーション サーバーは、共有または専用の 2 つのモードのいずれかで起動できます。

VT_DATE データ型

VT_DATE 型入力を Visual Basic プログラムや ActiveX® コントロール メソッドに渡すには、MATLAB クラス COM.date を使用します。

Visual Basic .NET クライアントのデータ型

サーバー関数の引数と戻り値に対するデータ型は、オートメーションのデータ型として表わされます。これは言語に依存しない型で、オートメーションのプロトコルにより定義されます。

Visible プロパティ

Visible プロパティを使用して、MATLAB がサーバー アプリケーションで表示されるようにします。

DCOM サーバーとしての MATLAB アプリケーション

分散コンポーネント オブジェクト モデル (DCOM) は、ネットワークを経由して COM 接続を可能にするプロトコルです。

トラブルシューティング

MATLAB アプリケーションの完了の待機

他のプログラムから MATLAB 関数を呼び出す場合、プログラムが MATLAB 関数の完了待機中にタイムアウト メッセージを表示する場合があります。