Assign timer function from another file to global object

2 vues (au cours des 30 derniers jours)
Ryan Sinfield
Ryan Sinfield le 23 Nov 2016
Commenté : Ryan Sinfield le 23 Nov 2016
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

Réponse acceptée

Jan
Jan le 23 Nov 2016
Modifié(e) : Jan le 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.
  2 commentaires
Ryan Sinfield
Ryan Sinfield le 23 Nov 2016
Thanks, I'll give that a go
Ryan Sinfield
Ryan Sinfield le 23 Nov 2016
That worked thanks!

Connectez-vous pour commenter.

Plus de réponses (0)

Tags

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by