Assign timer function from another file to global object

I have a global audioplayer object that is used by two different GUIs.
GUI1.m
global ap;
% functions and stuff...
function toBeCalled(obj, evt, a)
% Timer function for ap
GUI2.m
global ap;
function assignTimerFcn()
% set the TimerFcn for ap
ap.TimerFcn = {@toBeCalled, 2};
I get an error message stating that the function doesn't exist when I play the audioplayer object if the TimerFcn is set this way.
Is there something else I need to specify in order to tell Matlab that I intend to use the toBeCalled function from GUI1.m instead of looking for a toBeCalled function in GUI2.m?
Thanks

 采纳的回答

Jan
Jan 2016-11-23
编辑:Jan 2016-11-23
If the "toBeCalled" function is a subfunction of the GUI1.m file, you cannot access it directly from anywhere else. Move "toBeCalled" in an own M-file to allow this.
This is not a problem of timers or guis, but the wanted behavior of subfunctions.

更多回答(0 个)

类别

产品

标签

Community Treasure Hunt

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

Start Hunting!

Translated by