Get latest value from workspace variable in callback
17 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
I am coding my own gui. I could not understand how to get the control I wanted from guide. In my coding: I think I declared a global variable (such as myvar) and gave it an initial value. I started a script and declared a variable, then moved to a function file.
I changed the value via a callback from one uicontrol. The value for the variable changes in the workspace. I use a pushbutton gui to save the information, 'Callback', {@gsave, myvar} but the function gsave(hObject, eventdata, myvar) grabs the initial value of myvar and not the latest. How do I refresh the definition? (Thanks for any input.)
1 Commento
Risposta accettata
Paulo Silva
il 3 Mar 2011
1- Avoid using global variables, there are several better ways to share data, use arguments to share data or in your case (the title message) you can use myvar = evalin('base', 'myvar') to get the workspace value of myvar into your gui functions.
2- When declaring global variables you must declare them global in all the functions you want to use them
fun1()
global myvar
end
fun2()
global myvar
end
5 Commenti
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Workspace Variables and MAT Files in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!