Standalone GUI application crashes with error and GUI python package closes immediately, does not stay open
2 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
jchaliss
el 6 de Mayo de 2018
Comentada: jchaliss
el 12 de Mayo de 2018
I created a standalone executable version of a GUI but it opens the GUI for an instance and crashes with "not enough input arguments" error, when run from a folder that does not contain the related GUI .m/.fig files, for e.g. while running directly from the desktop. The line of error is from the main GUI m-file shown below. The application runs as expected when run from the folder containing all the accompanying files.
gui_mainfcn(gui_State, varargin{:});
I was also trying to create a python package of the same GUI, but a similar experience with the GUI not staying open. Simply shows the GUI instantaneously but closes immediately with no particular error message.
0 comentarios
Respuesta aceptada
Harsh
el 9 de Mayo de 2018
It appears that the GUI was made using App Designer / Guide and relies on dependent files being present in the current directory. Note that a compiled application behaves more consistently if it avoids accessing or changing the current directory. A more reliable way is to base all file locations on a known root i.e. ctfroot for deployed applications. For example:
load('c:/Work/MATLAB/data.mat')% creates dependency on file structure
% Instead use
[pathstr,name]=fileparts(which('data.mat'));
load(name);
Detailed examples on managing path for deployed applications can be found here: https://blogs.mathworks.com/loren/2008/08/11/path-management-in-deployed-applications/
To further narrow down the exact point of error, on a Windows Machine before compiling, Under Additional runtime settings -> uncheck "Do not display the Windows Command Shell' and check 'Create log file'.
The Python error is also likely connected to the path issues of the standalone application.
Más respuestas (0)
Ver también
Categorías
Más información sobre Python Package Integration en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!