我有一个从C#客户端调用MATLAB函数(displayFigure.m)的代码。每次更新.m文件时,重新运行C#程序时都不会反映更改。
public void CallMLfunc(){
MLApp.MLApp matlab = new MLApp.MLApp();
matlab.Feval("displayFigure", 0, out result, input);
matlab.Quit();
}
尝试使用
终止MATLAB.exe进程matlab.execute("quit;");
并将获得以下未处理的异常:System.Runtime.InteropServices.COMException
。
强制退出程序后,我再次重新运行它,反映出displayFigure.m(版本2)。是否有另一个退出MATLAB过程?
答案 0 :(得分:0)
COM对象的进程列表中有一个MATLAB.exe。有时会有一个可以关闭的可见窗口。有时候没有。您可能有多个MATLAB.exe,特别是如果您正在调试并且MATLAB编辑器已打开,您也可以运行该实例。 ["Hello", "Great", "World"]
应终止与COM对象关联的MATLAB.exe,但如果在matlab.Quit();
或断点等期间出现异常,则可能无法执行。当我遇到这个问题时,我终止了具有最高PID的MATLAB.exe。