问题描述:Error when using uigetdir() in deployed MATLAB application (java.lang.IllegalArgumentException: eval requires a valid MCR id when running in standalone mode)
问题具体:
Error using matlab.ui.internal.dialog.FolderChooser/doShowDialog (line 70) Java exception occurred: java.lang.IllegalArgumentException: eval requires a valid MCR id when running in standalone mode. at com.mathworks.jmi.NativeMatlab.PostMatlabMessage(Native Method) at com.mathworks.jmi.NativeMatlab.postMatlabMessage(NativeMatlab.java:224) at com.mathworks.jmi.NativeMatlab.postMatlabMessage(NativeMatlab.java:240) at com.mathworks.jmi.MatlabLooper.postMatlabMessage(MatlabLooper.java:150) at com.mathworks.jmi.MatlabMCR.postAsync(MatlabMCR.java:1542) at com.mathworks.jmi.MatlabMCR.eval(MatlabMCR.java:518) at com.mathworks.jmi.Matlab.eval(Matlab.java:1197) at com.mathworks.jmi.MatlabPath$PathCallback.completed(MatlabPath.java:1449) at com.mathworks.jmi.MatlabMCR$InterestHandler.messageReceived(MatlabMCR.java:1663) at com.mathworks.jmi.NativeMatlab.ProcessPendingEvents(Native Method) at com.mathworks.jmi.NativeMatlab.processPendingEvents(NativeMatlab.java:508) at com.mathworks.jmi.AWTUtilities$MatlabLatch.safeWait(AWTUtilities.java:892) at com.mathworks.jmi.AWTUtilities$MatlabLatch.waitFcn(AWTUtilities.java:907) at com.mathworks.jmi.AWTUtilities$Latch.acquire(AWTUtilities.java:770) at com.mathworks.jmi.AWTUtilities$Invoker.invoke(AWTUtilities.java:500) at com.mathworks.jmi.AWTUtilities.invokeAndWaitInternal(AWTUtilities.java:250) at com.mathworks.jmi.AWTUtilities.invokeAndWait(AWTUtilities.java:111) Error in matlab.ui.internal.dialog.FolderChooser/show (line 48) Error in uigetdir_helper (line 32) Error in uigetdir (line 61) Error in Settings_Window>Select_Output_Report_Callback (line 275) Error in gui_mainfcn (line 95) Error in Settings_Window (line 42)问题截图:

问题不大但糟心的很
这是一个已知的 bug (2018a仍然存在,希望在2018b可以解决)
去这个地方https://download.csdn.net/download/sinat_38679789/10972043下载这个文件,然后搜索一下matlab路径下的所有的uigetdir,让把下载的文件放在比所有原来的uigetdir更高级的目录下,原来的那几个都不用动,什么时候bug修复了,什么时候把这个文件删了就行啦
这是私人的解决方案是我遇到这个问题,解决这个问题,从matlab社区Nate Ellingson大神提供的 脚本 copy过来的,在matlab官方上这个问题没有解决方法。
Dear Nate:If you see this article and feel that what I have done is not appropriate, please contact me, I will give you a satisfactory answer。Thanks for your help.
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删