jakaplan / matlabcontrol

matlabcontrol is a Java API that allows for calling MATLAB from Java. You can eval, feval, as well as get and set variables. Interaction can be performed from either inside MATLAB or outside MATLAB.
12 stars 5 forks source link

Unable to set starting folder when setHidden is set to true #28

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What version of matlabcontrol are you using? 4.1.0
(Release versions: 4.1.0, 4.0.0, 3.1.0, 3.0.1, 3.0.0, or 2.0.0)

What version of MATLAB are you using? 2010b

What operating system are you using? Windows XP

Are you using matlabcontrol from inside MATLAB or outside MATLAB? Outside

What steps will reproduce the problem?
1.In the Builder, set setHidden to true and use setMatlabStartingDirectory to 
set a starting folder.

What did you expect to happen? What happened instead? I expected a minimized 
command window opened in the starting folder I specified. However, the 
minimized command opened at the location where the Matlab executable was 
present. Hence, it was unable to execute a Matlab script present in the 
location specified by me as it never opened in that location. As a workaround, 
I manually pass a 'cd' command to the proxy to switch to the desired folder and 
then execute the script.

If there was a stack trace, please copy it here.
matlabcontrol.MatlabInvocationException: Method did not return properly because 
of an internal MATLAB exception
    at matlabcontrol.MatlabInvocationException$Reason.asException(MatlabInvocationException.java:62)
    at matlabcontrol.JMIWrapper$MatlabThreadOperations.returningFeval(JMIWrapper.java:459)
    at matlabcontrol.JMIWrapper$MatlabThreadOperations.eval(JMIWrapper.java:394)
    at matlabcontrol.JMIWrapper$4.call(JMIWrapper.java:154)
    at matlabcontrol.JMIWrapper$4.call(JMIWrapper.java:150)
    at matlabcontrol.JMIWrapper$9.run(JMIWrapper.java:307)
    at com.mathworks.jmi.NativeMatlab.dispatchMTRequests(NativeMatlab.java:339)
    at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:275)
    at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:252)
    at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:161)
    at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:194)
    at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:148)
    at matlabcontrol.$Proxy2.eval(Unknown Source)
    at matlabcontrol.RemoteMatlabProxy$4.invoke(RemoteMatlabProxy.java:257)
    at matlabcontrol.RemoteMatlabProxy$4.invoke(RemoteMatlabProxy.java:253)
    at matlabcontrol.RemoteMatlabProxy.invoke(RemoteMatlabProxy.java:182)
    at matlabcontrol.RemoteMatlabProxy.eval(RemoteMatlabProxy.java:252)
    at util.matlab.Matlab.getProxy(Matlab.java:162)
    at util.matlab.Matlab.executeScript(Matlab.java:73)
    at util.matlab.Matlab.main(Matlab.java:182)
Caused by: com.mathworks.jmi.MatlabException: Undefined function or variable 
'startup'.
    at com.mathworks.jmi.NativeMatlab.SendMatlabMessage(Native Method)
    at com.mathworks.jmi.NativeMatlab.sendMatlabMessage(NativeMatlab.java:210)
    at com.mathworks.jmi.MatlabLooper.sendMatlabMessage(MatlabLooper.java:121)
    at com.mathworks.jmi.Matlab.mtFevalConsoleOutput(Matlab.java:1536)
    at matlabcontrol.JMIWrapper$MatlabThreadOperations.returningFeval(JMIWrapper.java:420)
    at matlabcontrol.JMIWrapper$MatlabThreadOperations.eval(JMIWrapper.java:394)
    at matlabcontrol.JMIWrapper$4.call(JMIWrapper.java:154)
    at matlabcontrol.JMIWrapper$4.call(JMIWrapper.java:150)
    at matlabcontrol.JMIWrapper$9.run(JMIWrapper.java:307)
    at com.mathworks.jmi.NativeMatlab.dispatchMTRequests(NativeMatlab.java:339)
Exception in thread "main" java.io.IOException: Internal Matlab Error
    at util.matlab.Matlab.executeScript(Matlab.java:97)
    at util.matlab.Matlab.main(Matlab.java:182)

Please provide any additional information below.

Original issue reported on code.google.com by ravi.rkr...@gmail.com on 19 Mar 2015 at 4:32