Assign timer function from another file to global object

1 view (last 30 days)
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

Accepted Answer

Jan
Jan on 23 Nov 2016
Edited: Jan on 23 Nov 2016
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.

More Answers (0)

Tags

Products

Community Treasure Hunt

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

Start Hunting!