Problem with my Callback function or handles values

2 views (last 30 days)
Hi everybody, I have a problem with my function and I do not understand why.
Here is some part of my code:
handles.STANumber = 1;
handles.PanelPosition = [60 670 1098 80];
handles.AddSTA = uicontrol( 'Parent',handles.MainFigure,...
'style','pushbutton',...
'String','Add STA',...
'Tag','AddSTA',...
'Callback', {@AddSTA,handles});
handles.STANumber = handles.STANumber + 1;
....
function [handles] = AddSTA(hObject,eventdata,handles)
handles.AddSTA = hObject; % I DO NOT KNOW WHY THIS IS NEEDED. without this
% handles.AddSTA is not recognized - but all the
% other handles are recognized
handles.STANumber = handles.STANumber + 1;
My main problems are:
1. When I enter the AddSTA function the handles structure does not have AddSTA field
2. Every time I enter the AddSTA function - handles.STANumber is '1' (even though I prev' increased it) - On the same not - handles.PanelPosition is also in his default value.

Answers (1)

Brian B
Brian B on 3 Mar 2013
Edited: Brian B on 3 Mar 2013
You need to save handles back to the figure after each call, as in:
handles.STANumber = handles.STAumber + 1;
guidata(hObject,handles);
  2 Comments
Nimrodb
Nimrodb on 3 Mar 2013
I tried that already. I places 1 in my main function (at the end) and got the folloiwng error:
Reference to a cleared variable hObject.
Error in SimulationMain (line 28)
guidata(hObject,handles);
and I also tried to place 1 at the end of the AddSTA function and that did not produce an error - but also did not do anything.
Walter Roberson
Walter Roberson on 3 Mar 2013
Do you have "clear all" statements in your code?

Sign in to comment.

Categories

Find more on Migrate GUIDE Apps in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!