Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
declaring global variables: GUI'S

Subject: declaring global variables: GUI'S

From: simon ott

Date: 17 Jan, 2009 20:40:18

Message: 1 of 6


Hello,
I want to declare global variables so that I could access them from my different GUI's. I declared then in OpeningFcn of every GUI.

function Prog_OpeningFcn(hObject, eventdata, handles, varargin)
global A
global A

but I still can not eccess them
some hint please ?

simon

Subject: declaring global variables: GUI'S

From: Sadik

Date: 17 Jan, 2009 20:44:02

Message: 2 of 6

"simon ott" <simon_ott@yahoo.com> wrote in message <gktfni$je$1@fred.mathworks.com>...
>
> Hello,
> I want to declare global variables so that I could access them from my different GUI's. I declared then in OpeningFcn of every GUI.
>
> function Prog_OpeningFcn(hObject, eventdata, handles, varargin)
> global A
> global A
>
> but I still can not eccess them
> some hint please ?
>
> simon

Hello Simon,

I hope this helps [especially section 7]:

Hello Cesar,

I believe Section 7 of the following link is the one you are looking for:

http://www.mathworks.com/support/tech-notes/1200/1205.html

Subject: declaring global variables: GUI'S

From: Steven Lord

Date: 19 Jan, 2009 15:52:41

Message: 3 of 6


"simon ott" <simon_ott@yahoo.com> wrote in message
news:gktfni$je$1@fred.mathworks.com...
>
> Hello,
> I want to declare global variables so that I could access them from my
> different GUI's. I declared then in OpeningFcn of every GUI.
>
> function Prog_OpeningFcn(hObject, eventdata, handles, varargin)
> global A
> global A
>
> but I still can not eccess them
> some hint please ?

If you declare a variable as global, then you must declare it as global in
EVERY function in which you want to access it via the global workspace.
That means that you will need to declare A as global in every callback
function that wants to use this variable in each of your GUIs. It also
means that if someone else's function uses A as a global variable then they
can potentially interfere with the operation of your GUI by changing A
without your GUI functions' knowledge. For these reasons and others, using
global variables is discouraged. Instead, you could store your data in the
handles structures for your GUIs (and give other GUI functions access to
those handles structures if they need access to the data in a particular
GUI), to store them in the UserData for your GUI, etc.

Look at these pages from the documentation for other techniques you can use
to share data between callbacks and between GUIs:

http://www.mathworks.com/access/helpdesk/help/techdoc/creating_guis/brq3263.html

http://www.mathworks.com/access/helpdesk/help/techdoc/creating_guis/f5-1002439.html

--
Steve Lord
slord@mathworks.com

Subject: declaring global variables: GUI'S

From: Akash Mullangi

Date: 19 Mar, 2013 18:59:18

Message: 4 of 6

Hi Steven ,
If I am on a while loop , your suggested method wont help .
Is there anyway , if not declaring variable global ?

Thank you
"Steven Lord" <slord@mathworks.com> wrote in message <gl27k9$86h$1@fred.mathworks.com>...
>
> "simon ott" <simon_ott@yahoo.com> wrote in message
> news:gktfni$je$1@fred.mathworks.com...
> >
> > Hello,
> > I want to declare global variables so that I could access them from my
> > different GUI's. I declared then in OpeningFcn of every GUI.
> >
> > function Prog_OpeningFcn(hObject, eventdata, handles, varargin)
> > global A
> > global A
> >
> > but I still can not eccess them
> > some hint please ?
>
> If you declare a variable as global, then you must declare it as global in
> EVERY function in which you want to access it via the global workspace.
> That means that you will need to declare A as global in every callback
> function that wants to use this variable in each of your GUIs. It also
> means that if someone else's function uses A as a global variable then they
> can potentially interfere with the operation of your GUI by changing A
> without your GUI functions' knowledge. For these reasons and others, using
> global variables is discouraged. Instead, you could store your data in the
> handles structures for your GUIs (and give other GUI functions access to
> those handles structures if they need access to the data in a particular
> GUI), to store them in the UserData for your GUI, etc.
>
> Look at these pages from the documentation for other techniques you can use
> to share data between callbacks and between GUIs:
>
> http://www.mathworks.com/access/helpdesk/help/techdoc/creating_guis/brq3263.html
>
> http://www.mathworks.com/access/helpdesk/help/techdoc/creating_guis/f5-1002439.html
>
> --
> Steve Lord
> slord@mathworks.com
>

Subject: declaring global variables: GUI'S

From: Steven_Lord

Date: 19 Mar, 2013 21:19:46

Message: 5 of 6



"Akash Mullangi" <amullangi@hydro-tech.com> wrote in message
news:kiaci6$f27$1@newscl01ah.mathworks.com...
> Hi Steven ,
> If I am on a while loop , your suggested method wont help .

I don't understand the first part of this sentence. The phrase "on a while
loop" doesn't seem to make sense in this context.

> Is there anyway , if not declaring variable global ?

Probably but the question needs clarification.

--
Steve Lord
slord@mathworks.com
To contact Technical Support use the Contact Us link on
http://www.mathworks.com

Subject: declaring global variables: GUI'S

From: Nasir

Date: 16 Oct, 2014 16:18:13

Message: 6 of 6

"Sadik " <sadik.hava@gmail.com> wrote in message <gktfui$e7l$1@fred.mathworks.com>...
> "simon ott" <simon_ott@yahoo.com> wrote in message <gktfni$je$1@fred.mathworks.com>...
> >
> > Hello,
> > I want to declare global variables so that I could access them from my different GUI's. I declared then in OpeningFcn of every GUI.
> >
> > function Prog_OpeningFcn(hObject, eventdata, handles, varargin)
> > global A
> > global A
> >
> > but I still can not eccess them
> > some hint please ?
> >
> > simon
>
> Hello Simon,
>
> I hope this helps [especially section 7]:
>
> Hello Cesar,
>
> I believe Section 7 of the following link is the one you are looking for:
>
> http://www.mathworks.com/support/tech-notes/1200/1205.html

a simple gui program to show how to use global variable


function varargout = Global_var_func(varargin)
% GLOBAL_VAR_FUNC MATLAB code for Global_var_func.fig
% GLOBAL_VAR_FUNC, by itself, creates a new GLOBAL_VAR_FUNC or raises the existing
% singleton*.
%
% H = GLOBAL_VAR_FUNC returns the handle to a new GLOBAL_VAR_FUNC or the handle to
% the existing singleton*.
%
% GLOBAL_VAR_FUNC('CALLBACK',hObject,event... calls the local
% function named CALLBACK in GLOBAL_VAR_FUNC.M with the given input arguments.
%
% GLOBAL_VAR_FUNC('Property','Value',...) creates a new GLOBAL_VAR_FUNC or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before Global_var_func_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to Global_var_func_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help Global_var_func

% Last Modified by GUIDE v2.5 16-Oct-2014 20:50:13

% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @Global_var_func_OpeningFcn, ...
'gui_OutputFcn', @Global_var_func_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{1})
gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
gui_mainfcn(gui_State, varargin{:});
end
% End initialization code - DO NOT EDIT


% --- Executes just before Global_var_func is made visible.
function Global_var_func_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to Global_var_func (see VARARGIN)

% Choose default command line output for Global_var_func
handles.output = hObject;

global a b;
a=1:100;
b=sin(a);

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes Global_var_func wait for user response (see UIRESUME)
% uiwait(handles.figure1);


% --- Outputs from this function are returned to the command line.
function varargout = Global_var_func_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;


% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
global a b;
plot(a,b);





May help you...............

Tags for this Thread

No tags are associated with this thread.

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us