MATLAB: Error starting a GUI

guideMATLABmatlab gui

I have developed a simple gui with radiobuttons. Everything works fine as long as I start the gui from the script and then use it. If I start directly the gui.fig file, I got this rerror message when I start using the GUI:
Struct contents reference from a non-struct array object.
Error in gui>pushbutton1_Callback (line 88)
dataSet = get(handles.errorset_groupbutton.SelectedObject,{'String','Value'})
Error in gui_mainfcn (line 95)
feval(varargin{:});
Error in gui (line 42)
gui_mainfcn(gui_State, varargin{:});
Error in
matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)gui('pushbutton1_Callback',hObject,eventdata,guidata(hObject))
Error while evaluating UIControl Callback.

Best Answer

That .fig file is not the complete GUI, it is only the visible elements. The callback functions it references are not contained in the figure, so when you try to execute a function, that function can't work properly, because the guidata wasn't set correctly.
You have already identified the solution: don't start the GUI by opening the fig, but start it with the function. If you can't keep them apart, don't use a fig, but either click the 'generate code' option in GUIDE, or avoid GUIDE in the first place.
If you want some hints about avoiding GUIDE, I'dd be happy to give you some pointers about what I do (or you can just have a look at my FEX submission to see some examples).