Bonjour,

Je débute tout juste avec le GUI. Pour ma première réalisation, j'ai voulu faire le compteur donné dans les tutoriaux mais j'obtiens l'erreur suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
"??? Error using ==> getappdata
Invalid object handle.
 
Error in ==> Compter>retrancher at 61
Compteur = getappdata(gcbf,'Valeur_compteur');
 
??? Error while evaluating uicontrol Callback"
De plus, qu'est ce que "obj" et "event" dans la fonction "retrancher"?

Pouvez-vous m'aider?

Voici mon code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
% Réalisation d'un compteur
% -------------------------
 
% FONCTION PRINCIPALE
% -------------------
 
function Compter
 
% Création de l'objet figure
 
figure('units','pixels',...
    'position',[250 250 400 300],...
    'color',[0.2 0.4 0.6],...
    'numbertitle','off',...
    'name','Compteur',...
    'menubar','none',...
    'tag','interface');
 
% Création du bouton push -
 
uicontrol('style','pushbutton',...
    'units','normalized',...
    'position',[0.2 0.1 0.1 0.05],...
    'string','-',...
    'callback',@retrancher,...
    'tag','Bouton-');
 
% Création du boutton push +
 
uicontrol('style','pushbutton',...
    'units','normalized',...
    'position',[0.8 0.1 0.1 0.05],...
    'string','+',...
    'callback',@ajouter,...
    'tag','Bouton-');
 
% Création de l'objet résultat
 
uicontrol('style','text',...
    'units','normalized',...
    'position',[0.5 0.3 0.1 0.05],...
    'string','0',...
    'tag','Résultat');
 
% Initialisation du compteur
 
Compteur = 0;
setappdata(gcf,'Valeur_compteur',Compteur); % Enregistrement de la valeur du compteur dans les données d'application de l'objet figure
% gcf permet de donner l'identifiant de la figure en cours
 
% FONCTION RETRANCHER
% -------------------
 
function retrancher(obj,event)
 
% Récupération directe de la valeur du compteur depuis les données
% d'application de l'objet figure contenant l'objet graphique dont l'action
% est exécutée (gcbf)
 
Compteur = getappdata(gcbf,'Valeur_compteur');
Compteur = Compteur - 1;
 
% Récupération de l'identifiant de l'objet Résultat
 
h = findobj('parent',gcbf,'style','text','tag','Résultat');
 
% modification de sa propriété string
set(h,'string',num2str(Compteur));
 
% Enregistrement de la nouvelle valeur du compteur
setappdata(gcf,'Valeur_compteur',Compteur');
 
 
% FONCTION AJOUTER
% ----------------
 
function ajouter(obj,event)
 
% Récupération directe de la valeur du compteur depuis les données
% d'application de l'objet figure contenant l'objet graphique dont l'action
% est exécutée (gcbf)
 
Compteur = getappdata(gcbf,'Valeur_compteur');
Compteur = Compteur + 1;
 
% Récupération de l'identifiant de l'objet Résultat
 
h = findobj('parent',gcbf,'style','text','tag','Résultat');
 
% modification de sa propriété string
set(h,'string',num2str(Compteur));
 
% Enregistrement de la nouvelle valeur du compteur
setappdata(gcf,'Valeur_compteur',Compteur');