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

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

采纳的回答

MathWorks Support Team
编辑:MathWorks Support Team 2021-12-30
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

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 MATLAB の COM オブジェクト 的更多信息

产品


版本

R14SP2

Community Treasure Hunt

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

Start Hunting!