Bonjour à tous,

J'ouvre une interface graphique sous Gui à partir d'une autre interface, je récupère donc des données de la première interface pour les utiliser dans la seconde.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
function Gestion_Fond_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to Gestion_Fond (see VARARGIN)
 
% Choose default command line output for Gestion_Fond
handles.output = hObject;
handles.Donnees=getappdata(gcbf,'Donnee');
guidata(hObject, handles);


Je souhaiterai lors de l'ouverture de la seconde interface initialiser certaines variables en utilisant la fonction setappdata


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
function Gestion_Fond_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to Gestion_Fond (see VARARGIN)
 
% Choose default command line output for Gestion_Fond
handles.output = hObject;
handles.Donnees=getappdata(gcbf,'Donnee');
setappdata(gcbf,'Vitesse',1)
setappdata(gcbf,'Nimage',handles.Donnees.Nimage)
guidata(hObject, handles);
Les variables Vitesse et Nimage ne sont pas correctement initialisées avec cette méthode si j'essaie de les recuperer le programme m'indique qu'elle sont vides : A=getappdata(gcbf,Vitesse) A=[] .


Quelle est mon erreur, est il possible d'utiliser setappdata dans la fonction qui ouvre un nouveau GUI, une solution serait d'initialiser un handles du type :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
function Gestion_Fond_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   command line arguments to Gestion_Fond (see VARARGIN)
 
% Choose default command line output for Gestion_Fond
handles.output = hObject;
handles.Donnees=getappdata(gcbf,'Donnee');
handles.Vitesse=1;
handles.Nimage=handles.Donnees.Nimage;
guidata(hObject, handles);
Mais je préfererai vraiment utiliser un setappda.

Comment puis je faire ?

Merci d'avance