variable: global or in guidata

2 views (last 30 days)
Juan
Juan on 17 Nov 2011
which is more useful in gui programming, to save the variable in handles structure or to make it global to have access on it?

Accepted Answer

Daniel Shub
Daniel Shub on 17 Nov 2011
I would suggest you avoid global variables. They are more powerful than what you need, and therefore probably not the best choice. The FAQ has a couple of suggestions:

More Answers (2)

Alex
Alex on 17 Nov 2011
Global variables are often a bad choice when programming.
Another option for sharing data through a gui is basing the gui in a class. This is my preferred method.

Jan
Jan on 17 Nov 2011
In case of problems it is hard to find the code, which is responsible for the last changes in the global variables. In addition the uasge of globals lead to problems, if you want to open multiple instances of the GUI.
Therefore I prefer guidata - which calls setappdata internally, so you can call it directly also. Using the figure's UserData is equivalent. For conventional reasons I use the UserData for static values as handles and the application data for dynamic values like the current choice of variables etc. But this is a question of taste.

Products

Community Treasure Hunt

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

Start Hunting!