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

 Respuesta aceptada

Jan
Jan el 23 de Nov. de 2016
Editada: Jan el 23 de Nov. de 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.

2 comentarios

Thanks, I'll give that a go
That worked thanks!

Iniciar sesión para comentar.

Más respuestas (0)

Productos

Etiquetas

Preguntada:

el 23 de Nov. de 2016

Comentada:

el 23 de Nov. de 2016

Community Treasure Hunt

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

Start Hunting!

Translated by