Info

Questa domanda è chiusa. Riaprila per modificarla o per rispondere.

About passing the parameter

5 visualizzazioni (ultimi 30 giorni)
k38
k38 il 4 Apr 2017
Chiuso: MATLAB Answer Bot il 20 Ago 2021
Hi, I would appreciate if someone answer me this question.
I am developing the GUI which calls one function called fun1.
Fun1 will get one of the value from uicontrol, say variable a.
But I have a another function called fun2.
I tried to use a in fun2 but I got the error, structure is like this
Func_main()
Uicontrol(...,callback,"fun1") Fun1() a = get.value End
Fun2() Disp(a); End
End
How can I pass the parameter from one function to another?
Sorry for so naive question but thanks for your help

Risposte (1)

Jan
Jan il 5 Apr 2017
Modificato: Jan il 5 Apr 2017
You can store the value in the "handles" struct:
function Main
hFigure = figure;
uicontrol(..., 'Callback', @Callback1);
uicontrol(..., 'Callback', @Callback2);
handles.a = []; % Default value
guidata(hFigure, handles); % Store handles struct in the figure
end
function Callback1(hObject, EventData)
handles = guidata(hObject); % Get struct from figure
handles.a = get_value() % Insert value
guidata(hObject, handles); % Put struct back to figure
end
function Callback2(hObject, EventData)
handles = guidata(hObject); % Get struct from figure
disp(handles.a)
end
This is a frequently asked question, I esitmate 2 times per day. Search in the forum for "share data between callbacks".
  2 Commenti
Joseph Cheng
Joseph Cheng il 5 Apr 2017
Ah... I always forget that this works outside of GUIDE. (deleted my submission).
k38
k38 il 5 Apr 2017
Hi Jan, thank you very much for your answer, I was working on the project and I struggled with this but you really saved me!
Once again, thank you!!

Questa domanda è chiusa.

Community Treasure Hunt

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

Start Hunting!

Translated by