外部インタフェース/API | ![]() ![]() |
MATLAB ActiveX Serverの起動
MATLABがオートメーションサーバとして動作するためには、コマンドライン引数 /Automation
を使って起動されなければなりません。ActiveXの接続がコントローラにより行われるとき、Microsoft Windowsは自動的に起動します。しかし、MATLABが既に実行されており、このパラメータなしで起動されていたとすれば、オートメーションコントローラによるサーバとしてのMATLABへの接続要求により、Windowsは /Automation
パラメータを使って別のMATLABを起動します。これは、実行中の対話的なMATLABセッションにコントローラが干渉されることを防ぎます。
共有または専用サーバの指定
MATLAB Automationサーバは、共有または専用の2つのモードのいずれかで起動できます。専用サーバは単一のクライアント専用であり、共有サーバは複数のクライアントにより共有されます。
モードは、MATLABを起動するクライアントが用いるProgram ID (ProgID)により決定されます。ProgID, Matlab.Application
(またはバージョン固有のProgID, Matlab.Application.5
)は、デフォルトのモード(共有)を指定します。専用サーバを指定するには、ProgID, Matlab.Application.Single
, (またはバージョン固有のProgID, Matlab.Application.Single.5
)を使います。用語Single
は、サーバに接続可能なクライアント数を参照します。
MATLABが共有サーバとして起動されると、共有サーバのProgIDを使ってMATLABへの接続を要求するすべてのクライアントは、既に起動されているMATLABに接続されます。言い換えると、共有サーバを指定するProgIDを使うすべてのクライアントが共有しているので、起動できる共有サーバは1つだけです。
専用ProgIDを使ってMATLABへの接続を要求するクライアントは、別々のMATLABを起動し、サーバは他のクライアントと共有されません。そのため、専用サーバは、複数のクライアントによって共有されないので、同時に複数の専用サーバを起動できます。
![]() | MATLAB ActiveX Automationメソッド | MATLABをDCOM Serverとして使う | ![]() |