Global variables in GUI
Mostra commenti meno recenti
Hi everyone, I have a problem with global variable in matlab GUI. I have a main window with options that i want to be active only after setting previous options. That options are placed in menu editor. So I have:
function PREV_OPTION_Callback(hObject, eventdata, handles)
global PREV_OPTION_set;
PREV_OPTION_menu;
if(PREV_OPTION_set)
set (handles.NEXT_OPTION,'enable','on','foregroundcolor',[0 0 0]); % next option is available
end
PREV_OPTION_set is beeing changed in PREV_OPTION_menu to value of 1. While debbuging everything is ok - PREV_OPTION_set equals to 1, but while running the program code in if scope is running since second callback function launch (after second clicking on PREV_OPTION from menu). What is wrong?
1 Commento
Adam
il 19 Dic 2017
It would be a lot easier if you just returned a relevant argument from your PREV_OPTION_menu function. These are the type of errors you get when using global variables.
Risposte (1)
Walter Roberson
il 19 Dic 2017
0 voti
If PREV_OPTION_menu is a script that is changing PREV_OPTION_set, and if PREV_OPTION_menu does not itself use "global" in talking about the variable, then the Just In Time compiler might not notice that the variable is changed.
If PREV_OPTION_menu is a function that is changing PREV_OPTION_set and PREV_OPTION_Menu does not use "global" in talking about the variable, then as far as MATLAB is concerned the global variable is not changed.
Categorie
Scopri di più su Function Creation in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!