I´m working on a project, where a C# process interacts with Matlab via COM. I start the Matlab command window like this:
Type matlabApp = Type.GetTypeFromProgID("Matlab.Application");
matlab = Activator.CreateInstance(matlabApp); %//late binding
It´s working fine so far.
But when I run my application twice, I still only get one Matlab command window where both C# processes share a common workspace which yields in different problems in my application (e.g. race conditions as each process can also change the other´s Matlab variables).
How can i force each process to open its own Matlab command window with its own workspace?

 채택된 답변

jb179
jb179 2019년 12월 2일
편집: jb179 2019년 12월 2일

1 개 추천

Got it!
Thanks to the MathWorks support!
I just fixed the problem with this simple supplement:
Type matlabApp = Type.GetTypeFromProgID("Matlab.Application.Single");
matlab = Activator.CreateInstance(matlabApp);
The ".Single" achieved, that the command window will be opened for every single Application.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 MATLAB에 대해 자세히 알아보기

질문:

2019년 11월 18일

편집:

2019년 12월 2일

Community Treasure Hunt

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

Start Hunting!

Translated by