IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques Discussion :

Interface non fonctionnelle après compilation


Sujet :

Interfaces Graphiques

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Interface non fonctionnelle après compilation
    Bonjour à tous,

    mon problème est sensiblement le même que celui du créateur de cette discussion : certaines fonctionnalités de mon programme, composé de plusieurs GUIs qui communiquent entre elles, ne fonctionnent pas après compilation. Je pense même pouvoir être précis : la seule fonction qui ne fonctionne pas nécessite le passage par une autre GUI dans laquelle sont calculées certaines variables avant d'être renvoyées dans le programme principal.
    Je précise que j'ai utilisé GUIDE, que j'ai beaucoup transpiré pour faire communiquer mes deux GUIs mais que je m'en suis sorti avec une fonction du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    myhandles=guidata(gcbo)
    Mes variables principales sont alors sous la structure myhandles dans le GUI secondaire, et vice-versa.
    Je peux détailler mon code si vous le jugez nécessaire.
    J'ai utilisé le compilateur deploytool de MATLAB, et, encore une fois, tout semble marcher correctement avant la compilation.
    D'avance, un grand merci et à bientôt !

    Pierre

  2. #2
    Rédacteur/Modérateur

    Avatar de Jerome Briot
    Homme Profil pro
    Freelance mécatronique - Conseil, conception et formation
    Inscrit en
    Novembre 2006
    Messages
    20 316
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Freelance mécatronique - Conseil, conception et formation

    Informations forums :
    Inscription : Novembre 2006
    Messages : 20 316
    Points : 52 951
    Points
    52 951
    Par défaut
    Citation Envoyé par Pierre B. Voir le message
    Je peux détailler mon code si vous le jugez nécessaire.
    Ce serait plus simple.
    Ou au moins nous fournir un code réduit qui permet de reproduire le problème.

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    OK, je vais essayer de détailler la partie de mon code que je pense coupable. Le seul souci, c'est que je suppute que le problème vient de là, mais rien n'est sûr.
    Bref, le programme se présente schématiquement comme ceci : un programme principal composé de plusieurs push buttons, chacun d'entre eux lançant une fonction. L'une d'entre elles fait apparaître un second GUI dans lequel, en sélectionnant plusieurs items d'une ListBox, on construit manuellement un vecteur, qui est ensuite renvoyé et stocké par le programme principal.
    Voici comment est géré le passage au sous-GUI dans le programme principal :
    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
     
    % Fonction associée au push button permettant de lancer le sous-GUI
    function pushbutton1_Callback(hObject, eventdata, handles)
    % Stockage des variables utilisées par le sous-GUI dans la structure du programme principal
    handles.VarMain1=VarMain1;
    handles.VarMain2=VarMain2;
    guidata(hObject,handles);
    % Vérification du dossier pour être sûr d'être dans celui où se trouve le sous-GUI
    cd('..\Guide_v2');
    % Appel du sous-GUI
    Table_input();
    % On attend d'avoir fini l'exécution du sous-GUI pour continuer le principal
    uiwait;
    % Appel des variables stockées dans la structure du sous-GUI
    myhandles=guidata(gcbo);
    for i=1:length(myhandles.VarSub1)
    VarMain3=myhandles.VarSub1(i)
    etcetc
    end
    Et voici comment se présente grossièrement mon sous-GUI :
    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
     
    % Initialisation du sous-GUI
    function Table_input_OpeningFcn(hObject, eventdata, handles, varargin)
    handles.h=gcbo;
    handles.g=gcf;
    myhandles=guidata(gcbo);
    handles.VarMain1=myhandles.VarMain1;
    handles.VarMain2=myhandles.VarMain2;
    set(handles.listbox1,'String',[handles.VarMain1 handles.VarMain2]);
    guidata(hObject,handles);
     
    % Fonction permettant la sélection dans le ListBox
    function listbox1_Callback(hObject, eventdata, handles)
    entry=get(handles.listbox1,'String');
    index=get(handles.listbox1,'Value');
    handles.VarSub2=entry{index};
    guidata(hObject,handles);
     
    % Fonction associée au push button permettant de fermer le sous-GUI, à utiliser après saisi du vecteur
    function pushbutton1_Callback(hObject, eventdata, handles)
    myhandles.VarSub2=handles.VarSub2;
    guidata(handles.h,myhandles);
    delete(handles.g);
    end %if
    J'espère que tout ceci est à peu près compréhensible. Je suis à votre disposition si vous avez besoin de précisions !
    Encore une fois, merci d'avance à vous tous !

    Pierre

  4. #4
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Je me permet de relancer cette discussion, car, contrairement aux différents points de blocages que j'ai pu rencontrer avec Matlab, je n'ai cette fois pas la moindre idée de par où commencer à chercher.
    A défaut d'une solution, n'auriez vous pas une idée des points susceptibles d'être problématique lors de la compilation, et que je pourrais commencer à creuser ?
    Par exemple, Dut parlait dans cette discussion d'un problème lorsque les callbacks étaient spécifiés sous forme de chaîne de caractères. Ca reste un peu obscur pour moi, mais ne pourrait-on imaginer que GUIDE génère ce type de callbacks ? Je suppose quand même que le problème ne vient pas de là. Si c'était le cas, aucune de mes GUIs ne fonctionneraient, alors qu'à l'heure actuelle, il semble que c'est uniquement l'aller-retour GUI principal-Gui secondaire qui ne fonctionne pas..
    Un grand merci par avance,

    Pierre

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Citation Envoyé par Pierre B. Voir le message
    la seule fonction qui ne fonctionne pas
    Quel est le comportement observé ? Une erreur ? Laquelle ? Autre ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    % Vérification du dossier pour être sûr d'être dans celui où se trouve le sous-GUI
    cd('..\Guide_v2');
    Ce n'est pas une vérification que tu effectues, mais un changement de dossier. Je soupçonne le problème venant de là.

Discussions similaires

  1. Plugin non fonctionnel après requête AJAX
    Par florianlyon dans le forum jQuery
    Réponses: 8
    Dernier message: 05/07/2011, 08h56
  2. [Flex3] linkbutton non fonctionnel après EXPORT de l'application
    Par DBA_OCP dans le forum Flex
    Réponses: 5
    Dernier message: 20/12/2010, 15h52
  3. Réponses: 1
    Dernier message: 21/11/2008, 09h50
  4. [Delphi 7] Compile, buid, etc. non fonctionnels
    Par femtosa dans le forum Delphi
    Réponses: 2
    Dernier message: 25/04/2007, 13h49
  5. Réponses: 4
    Dernier message: 29/09/2006, 16h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo