Get latest value from workspace variable in callback

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 件のコメント

Jan
Jan 2011 年 3 月 3 日
We cannot find the mistake in your code, if you do not post it here.

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

 採用された回答

Paulo Silva
Paulo Silva 2011 年 3 月 3 日

0 投票

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 件のコメント

Tony
Tony 2011 年 3 月 3 日
Thanks, I need to investigate evalin(). I also edited my question, because I am concerned that I mis-spoke when I said that I declared a global variable.
Paulo Silva
Paulo Silva 2011 年 3 月 3 日
send the data to other function in other files using their arguments, it's the best way
function mygui
myvar=1;
OtherFunctionOnOtherFile(myvar)
end
Paulo Silva
Paulo Silva 2011 年 3 月 3 日
Inside the GUI share the data using the handles structure.
Tony
Tony 2011 年 3 月 3 日
The evalin() function is exactly what I need.
(If there is a similar function to write to the base, I will be able to make some of my coding work with less lines).
Thanks
Paulo Silva
Paulo Silva 2011 年 3 月 3 日
assignin('base', 'myvar', myvar)

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

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File Exchange で App Building についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by