Problem with GUIDE based app and R2015a

2 visualizaciones (últimos 30 días)
Joseph Areeda
Joseph Areeda el 1 de Jun. de 2015
Comentada: Francesco Piccolo el 28 de Ag. de 2020
We have a GUIDE based application that required some work to get functional again with 2014b. Now with 2015a I'm getting the errors below on startup in the main GUIDE function. If I try to open the .fig file it hangs with most but not all of the [complex] dialog displayed. I've searched but can't find anything relevant.
The error message is
Undefined variable "matlab" or class "matlab.settings.Group".
Error in settings (line 35)
group = matlab.settings.Group(s, 'session');
Error in ligoDV_ligoDV_OpeningFcn (line 79)
setappdata(handles.main, 'settings', settings);
Error in gui_mainfcn (line 220)
feval(gui_State.gui_OpeningFcn, gui_hFigure, [], guidata(gui_hFigure), varargin{:});
Error in ligoDV (line 45)
gui_mainfcn(gui_State, varargin{:});
Error in ligoDV_start (line 164)
ligoDV;
ligoDV is the name of the app.
Any clues on how to figure this out would be greatly appreciated.
  3 comentarios
Image Analyst
Image Analyst el 28 de Ag. de 2020
Attach your code and data needed for us to reproduce your error after you read this link.
Francesco Piccolo
Francesco Piccolo el 28 de Ag. de 2020
Hi, please find attached the an example of the data and the code that is gvivng me the error.
Thanks

Iniciar sesión para comentar.

Respuesta aceptada

Dene Farrell
Dene Farrell el 2 de Sept. de 2015
Change the variable "settings" to another name such as "joes_settings".
  2 comentarios
Joseph Areeda
Joseph Areeda el 3 de Sept. de 2015
Editada: Joseph Areeda el 3 de Sept. de 2015
I did get this same answer from technical support. I should have posted it here.
This program has been working since 2006 and there were over 150 references to "settings"
Let's just say I'm not a big fan of making new reserved words that are in the dictionary. However it is working after changing the name of that cell array.
Walter Roberson
Walter Roberson el 4 de Sept. de 2015
I would look at that traceback as implying that a routine named "settings" has been called with no arguments when you expected "settings" to be a variable. That would not make "settings" reserved, but it would call for an investigation of why it was not noticed that it was a variable. Is there a load() shortly before that which is "poofing settings into existence" ?

Iniciar sesión para comentar.

Más respuestas (2)

Vinod Sudheesh
Vinod Sudheesh el 8 de Jun. de 2015
Hi Joseph,
How are you launching your MATLAB App?. Are you observing this error even when launching the App from the command line by executing the following command?
ligoDV
  2 comentarios
Joseph Areeda
Joseph Areeda el 8 de Jun. de 2015
Hi Vinod, There is a script called ligoDV_start that runs before that one.
I've tried it from an installed application and by running the script from the source directory used to create the app.
To be clear, I've tried running the installed app on multiple systems (Linux, Mac, Windows) and if I'm running R2014b it works, with R2015a it does not, using the same installed app.
Reinstalling the app with 15a did not change anything.
Walter Roberson
Walter Roberson el 8 de Jun. de 2015
I have not see a "matlab.settings.Group" before. Could we see the couple of lines before that?

Iniciar sesión para comentar.


Image Analyst
Image Analyst el 3 de Sept. de 2015
You forgot to attach the m-file, or even the openingFcn() function. Why do you think you should have a structure or class called matlab? I don't. Most likely you created it somehow, like by running some lines of code in your startup.m file or somewhere and this code expected it to be in the local workspace somehow. If you put the cursor in matlab and type control-D, does it send you anywhere (probably not)?
Go to your old installation that works, and run the Dependency Report on your code and see where this "matlab" comes from. Then bring that file over to your new installation.
  1 comentario
Joseph Areeda
Joseph Areeda el 4 de Sept. de 2015
Thanks for your reply. As stated above, after communicating with Tech Support, it turns out settings is part of Matlab (as of 2015a) and cannot be used as a variable in user space. Renaming it (in all 150+ places) solved the problem.
I have yet to find documentation that explains this or lists new reserved words.

Iniciar sesión para comentar.

Categorías

Más información sobre Introduction to Installation and Licensing en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by