ActiveX を使用して複数のイン​スタンスを起動するこ​とは可能ですか?

6 views (last 30 days)
MathWorks Support Team
MathWorks Support Team on 5 Mar 2013
ActiveX のオートメーションサーバとして MATLAB を設定しています。
CreateObject("Matlab.Application")
と記述し、そのスクリプトを実行すると、MATLAB が起動します。しかし、2 つのクライアントが起動されていても同じ環境を使用しているようです。このコマンドを使用して MATLAB を二つ干渉しないクライアントを同時に起動させる方法を教えてください。

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 27 Dec 2022
Edited: MathWorks Support Team on 30 Dec 2021
MATLAB 5.2 以前のバージョンでは ActiveX 経由で MATLAB を複数起動させることはできませんでした。その後のバージョンでは、"MATLAB.Application" の代わりに "MATLAB.Application.Single" を使用することで起動させることができます。
MATLAB オートメーションサーバには二つの起動モード、shared と dedicated があります。
shared サーバは、複数のクライアントによってシェアされる一方、dedicated サーバは、一つのクライアント専用となります。そのモードは、MATLAB 起動時のプログラム識別子 (ProgID) によって決めることができます。
ProgID である matlab.application は、既定の設定が shared になっています。
MATLAB を複数起動させる場合は、dedicated になっている matlab.application.single という ProgID をご使用ください。
以下は二つの MATLAB を起動する例です。
set Matlab1 = CreateObject("Matlab.Application.Single")
set Matlab2 = CreateObject("Matlab.Application.Single")
ActiveX オートメーションサーバとしての MATLAB についての詳細は、以下の資料の7章をご覧ください。
・External Interfaces/API GUIDE

More Answers (0)

Products


Release

R14SP2

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!