Bonjour,

Je réalise une application sous MATLAB en orienté objet. Elle permettra d'afficher des données sous forme graphique.

Dans cette application j'ai créé un objet VuePrin, qui est la vue principale avec le menu permettant de charger les données.
Via le menu, on choisis le type de données que l'on va charger, ce qui va créer un nouvel objet de type vueSta ou vueMod.

Cependant lors du callback de mon menu, je n'arrive pas à indiquer en argument la VuePrin sur laquelle je travaille, lorsque j’exécute ce code j'obtiens une erreur du type too many imput arguments.

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
classdef VuePrin    
    properties
        main;
        menu;
        ssmenu;
        ssmenuSta;
        ssmenuMod;
        control;
    end
 
    methods
        function vu=VuePrin(contr)
            vu.control=contr;
               vu.main = figure('units','pixels',...
                    'position',[25 45 1225 710],...
                    'numbertitle','off',...
                    'name','Application',...
                    'menubar','none',...
                    'userdata',1,...
                    'tag','main');
                vu.menu=uimenu( vu.main , 'label' , ' Fichier' );
                vu.ssmenu=uimenu( vu.menu , 'label' , 'Ouvrir' );
                vu.ssmenuSta=uimenu( vu.ssmenu , 'label' , 'Station','callback' , {@vu.Ouverture_Sta,vu} );
                vu.ssmenuMod=uimenu( vu.ssmenu , 'label' , 'Modèle','callback' , {@vu.Ouverture_Mod,vu}  );    
        end
 
        function Ouverture_Sta(o, ~,vu)
            s=OuvrirSta(vu.control);
            vu.vueMS=VueSta(vu,vu.control,s); 
        end
        function Ouverture_Mod(o, ~,vu)
            m=OuvrirMod(vu.control);
            vu.vueMS=VueMod(vu,vu.control,m);
        end
    end
end
Auriez vous une solution à mon problème?
Merci.