ActiveX を使用して複数のインスタンスを起動することは可能ですか?
6 views (last 30 days)
Show older comments
MathWorks Support Team
on 5 Mar 2013
Edited: MathWorks Support Team
on 30 Dec 2021
ActiveX のオートメーションサーバとして MATLAB を設定しています。
CreateObject("Matlab.Application")
と記述し、そのスクリプトを実行すると、MATLAB が起動します。しかし、2 つのクライアントが起動されていても同じ環境を使用しているようです。このコマンドを使用して MATLAB を二つ干渉しないクライアントを同時に起動させる方法を教えてください。
Accepted Answer
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
0 Comments
More Answers (0)
See Also
Categories
Find more on MATLAB の COM オブジェクト in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!