Problem with my Callback function or handles values

3 ビュー (過去 30 日間)
Nimrodb
Nimrodb 2013 年 3 月 3 日
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.

回答 (1 件)

Brian B
Brian B 2013 年 3 月 3 日
編集済み: Brian B 2013 年 3 月 3 日
You need to save handles back to the figure after each call, as in:
handles.STANumber = handles.STAumber + 1;
guidata(hObject,handles);
  2 件のコメント
Nimrodb
Nimrodb 2013 年 3 月 3 日
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 2013 年 3 月 3 日
Do you have "clear all" statements in your code?

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMigrate GUIDE Apps についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by