Bonjour,
Un petit problème d'enregistrement se pose à moi. Afin de ne pas utiliser de variables globales, je passe par des handles. Le souci est qu'il ne reconnait pas mon enregistrement dans ma fonction personnalisé, mais MatLab le reconnait dans l'initialisation de la figure ainsi que dans le callback.
Voici le code pour parler plus clair :
L'erreur généré est la suivante :
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 function main %Main GUI figure, initialization code [...] data=guihandles(gcf); data.left_space = left_space; guidata(gcf,data); data.left_space %OK! end function charger_fichier(currentObj, event) [...] waitbar_handle = waitbar(1/3, 'Veuillez patientez svp'); data=guihandles(gcbf); x = data.left_space %OK! resize_ecran1(1); [...] end function resize_ecran1(windows) %This functions resizes first ecran mode. switch windows case 1 data = guihandles(gcbf); x = data.left_space %Erreur ... [...] end
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 ??? Reference to non-existent field 'left_space'. Error in ==> main>resize_ecran1 at 775 X_position = data.left_space; Error in ==> main>charger_fichier at 658 resize_ecran1(1); ??? Error while evaluating uimenu Callback
MatLab reconnait pourtant la variable dans les cas précédents ... Ais-je loupé un coche quelque part ?
Partager