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

MATLAB Discussion :

Affichage d'un message pendant le chargement du MCR


Sujet :

MATLAB

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2013
    Messages : 189
    Points : 242
    Points
    242
    Par défaut Affichage d'un message pendant le chargement du MCR
    Bonjour à tous,

    j'ai développé un programme en Matlab, et j'ai besoin de le faire marcher sur des machines possédant la même architecture que la mienne mais qui n'ont pas de Matlab installé (il n'y a pas assez de licences).
    J'ai donc compilé tout le bazard avec le deploytool, j'installe le MCR qui va bien sur les autres machines, et finalement j'y copie l'éxécutable compilé.
    Tout ca marche très bien, à un détail près : lors du lancement du programme, le MCR met 3 minutes à se charger (mon programme est assez gros et utilise moults toolboxes), pendant lesquelles aucun retour n'est donné à l'utilisateur.
    Il se trouve que d'autres utilisateurs vont être amenés à utiliser le dit programme, et il ne faudrait pas qu'ils le lancent dix fois de suite en cliquant rageusement sur l'icône, croyant naïvement que rien ne se passe.

    Il faut donc que je puisse indiquer à l'utilisateur que le lancement du programme a bien été pris en compte, mais que si il ne voit pas de résultats pour l'instant, c'est que le MCR est en train de charger.

    Après quelques investigations j'ai trouvé un élément de réponse ici :
    http://www.mathworks.fr/support/solu...ution=1-6M21RQ

    j'ai donc fait un petit test avec le minimaliste mais non moins pertinent "hello world"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    function  hello()
    msgbox('hello world');
    end
    que je compile alors, comme indiqué dans le lien donné plus haut, de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    mcc -m -v -C -e hello.m
    la suite des instructions de cette fiche stipule
    2. When the compilation is done, look at the verbose output and try to find and entry that looks like this:
    Executing command: mbuild -O -v -output "hello" "hello_main.c" "hello_mcc_component_data.c" -link exe
    This is mbuild Copyright 1984-2006 MathWorks, Inc.

    You will need this mbuild command to recompile the stand-alone after making changes to the C file.

    3. Open the main C file with a text editor, in this case it would be "hello_main.c".
    Et là, je ne comprends plus : qu'est ce que le verbose output? si c'est ce qu'il m'inscrit dans la command window, alors je ne vois nulle trace de la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Executing command: mbuild -O -v -output "hello" "hello_main.c" "hello_mcc_component_data.c" -link exe
    et ou se trouve le fameux fichier hello_main.c? je n'en vois nulle trace.

    Je travaille avec windows 7 pro et Matlab R2012a.

    en vous remerciant!

  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 302
    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 302
    Points : 53 165
    Points
    53 165
    Par défaut
    Je viens de faire le test sans problème avec MATLAB R2009a et Windows 7.

    Le fichier hello_main.c se trouve dans le dossier courant de MATLAB.

    "verbose output" correspond bien au texte qui s'affiche dans le Command Window lors de la compilation avec mcc
    Ingénieur indépendant en mécatronique - Conseil, conception et formation
    • Conception mécanique (Autodesk Fusion 360)
    • Impression 3D (Ultimaker)
    • Développement informatique (Python, MATLAB, C)
    • Programmation de microcontrôleur (Microchip PIC, ESP32, Raspberry Pi, Arduino…)

    « J'étais le meilleur ami que le vieux Jim avait au monde. Il fallait choisir. J'ai réfléchi un moment, puis je me suis dit : "Tant pis ! J'irai en enfer" » (Saint Huck)

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

    Tu peux éventuellement t'inspirer de ce billet de blog.

  4. #4
    Membre actif
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2013
    Messages : 189
    Points : 242
    Points
    242
    Par défaut
    Citation Envoyé par Dut Voir le message
    Je viens de faire le test sans problème avec MATLAB R2009a et Windows 7.

    Le fichier hello_main.c se trouve dans le dossier courant de MATLAB.

    mcc
    Cela a du changer avec le temps et les nouvelles versions de Matlab, je confirme qu'il n'y a aucun fichier .c dans mon répertoire de travail courant.

    En fait selon le blog conseillé par Winjerome, il s'avère que cela a changé depuis la version R2009b, et il faut mettre les options -R -startmsg et -completemsg .

    Pour ceux que ca interesse, compiler de cette façon

    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
     
    filenametobuild ='hello'; 
    Author = 'Le schtroumpf geek'; 
     
    command_mcc = 'mcc -m '; 
     
    message_dos1 = ' -R -startmsg'''; 
     
    message_dos2 = [', Developer : ' Author '. Compilation date : ' datestr(now) ' -  within ' version('-release') ' ''']; 
     
    message_dos3 = ' -R  -completemsg'','; 
     
    message_dos4 = [' Starting ' filenametobuild ' ...''']; 
     
    msg_dos = [message_dos1 message_dos2 message_dos3 message_dos4]; 
    command = [command_mcc,filenametobuild msg_dos] ; 
     eval(command)
    marche

    Merci de votre aide.

  5. #5
    Membre actif
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    189
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2013
    Messages : 189
    Points : 242
    Points
    242
    Par défaut
    Bonjour,

    je dé-résouds ce sujet afin d'y effectuer une petite demande complémentaire : dans l'état actuel, j'ai mon message de bienvenue qui s'affiche lors du lancement de mon programme.
    Le problème est que la fenêtre dans laquelle s'affiche ce message de bienvenue reste présente durant l'exécution de mon programme, apres ques les composants sont chargés, ce qui n'est pas de nature à plaire à mon chef.

    Y a-t-il moyen de supprimer ou "cacher" cette fenêtre?

    j'ai naïvement essayé de compiler avec la commande mcc -e, mais bien evidement ma fenêtre de lancement n'est alors plus visible.

Discussions similaires

  1. Réponses: 2
    Dernier message: 21/01/2013, 11h32
  2. [AJAX] une barre et un message pendant le chargement
    Par Alexandrebox dans le forum AJAX
    Réponses: 1
    Dernier message: 25/04/2012, 20h08
  3. Affichage d'une page pendant le chargement d'une page
    Par johnson95 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/08/2008, 14h21
  4. Affichage d'une image pendant le chargement
    Par abbd dans le forum Windows Forms
    Réponses: 3
    Dernier message: 25/04/2008, 21h34
  5. affichage d'une page pendant son chargement
    Par boss_gama dans le forum ASP
    Réponses: 3
    Dernier message: 17/08/2006, 18h04

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