Bonjour,

Pour simplifier les choses, je prends une IHM créée avec GUIDE, contenant un static text et deux boutons.

A l'ouverture de :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
    handles.compteur = 10 ;
    set(handles.text1, 'String', handles.compteur) ;

    
    handles.ttimer = timer('TimerFcn',{@timefct handles}, ...
                                  'Period', 1.0, ...
                                  'ExecutionMode','fixedRate');
Le premier démarre le timer, :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
start(handles.ttimer) ;
et le second l'arrête :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
stop(handles.ttimer) ;
Le timer incrémente le compteur et affiche sa valeur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
function timefct(hObject, eventdata, handles)
handles.compteur = handles.compteur + 1 ;
set(handles.text1, 'String', handles.compteur) ;
Avec la fonction timefct qui se déclenche à chaque interval du Timer j'arrive bien à accéder aux objets (handles.compteur, handles.text1).
Cependant, j'appliques :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
guidata(hObject, handles);

J'ai l'erreur suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
Error using ==> guidata at 89
H must be the handle to a figure or figure descendent.
c'est normal, car je n'arrive pas à passer hObject comme paramètre lorsque je crée mon timer. pour résoudre, j'ai essayé avec gcf, gcbo mais je n'arrive pas ?

Je cherche à passer hObject dans la ligne ci-dessous pour pouvoir réaliser ceci guidata(hObject, handles)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
    handles.ttimer = timer('TimerFcn',{@timefct handles}, ...
                                  'Period', 1.0, ...
                                  'ExecutionMode','fixedRate');