bonjour à tous

Après une longue absence (parce que j'ai été un bon élève et j'ai bien retenu les leçons de ce forum ) et beaucoup de dévloppement, me revoilà avec un petit soucis avec des handle sur un GUI... Je m'explique:


J'ai une zone axes qui me permet d'afficher une image. Cette image doit changer selon le choix d'un utilisateur. Dans ma fonction principale, j'ai donc le code

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
    ax = axes('Units','pixels',... 
        'position',[415 255 535 125],...
        'tag','representation_CSB');
 
    img = imread('CSB_vis.bmp', 'bmp');  % lecture du fichier image
    image(img,'Parent',ax)  % Mise en place de l'image
    axis off    % Retrait des axes
A la fin de cette première fonction, j'utilise le classique
data = guihandles(gcf);
puis
guidata(gcf,data)


Dans la fonction du bouton qui me modifie l'image, j'ai le code suivant
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
 
data = guidata(gcbf);
 
delete (data.representation_CSB);
    switch type
        case 'Vis'
            % Mis à jour de la représentation des cotes sur billes
            data.representation_CSB = axes('Units','pixels',... 
                'position',[415 255 535 125],...
                'tag','representation_CSB');
 
                img = imread('CSB_vis.bmp', 'bmp');  % lecture du fichier image
                image(img,'Parent',data.representation_CSB)  % Mise en place de l'image
                axis off    % Retrait des axes
 
        case 'Ecrou'
            data.representation_CSB = axes('Units','pixels',... 
                'position',[415 255 535 125],...
                'tag','representation_CSB');
 
                img = imread('CSB_ecrou.bmp', 'bmp');  % lecture du fichier image
                image(img,'Parent',data.representation_CSB)  % Mise en place de l'image
                axis off    % Retrait des axes
    end
Mon soucis surviens avec le message d'erreur suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
??? Reference to non-existent field 'representation_CSB'.
 
Error in ==> GUI_Nouveau_Releve>choix_piece at 453
    delete (data.representation_CSB);

Après vérification (via un points d'arrêt), je m'appercois qu'à la fin de ma fonction principale, le champs representation_CSB de ma strucutre data n'apparait pas
Or les handle des autres objets définis avant et après cet axe apparaissent normalement

J'ai déjà appliqué cette technique ailleur, dans un autre programme qui fonctionnait très bien... Mais la, je bloque

Si vous avez une petite idée, je vous en serais très reconnaissant
En attendant, j'ai une solution paliative (mais pas esthétique ) qui consiste à ne pas afficher d'image 'par défaut'. Il y a donc un espace vide qui ne se remplis que lorsque que l'utilisateur active un bouton...

Je vous remercie d'avance

Bonne journée à vous.
Cordialement,
Ursamajor