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

Flex Discussion :

Attendre la fin d'un exécutable


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2005
    Messages : 64
    Par défaut Attendre la fin d'un exécutable
    Bonjour,

    je voulais savoir s'il est possible d'attendre l'exécution de la fin d'un processus pour ensuite exécuter d'autres actions.

    Mon processus est un exécutable qui me permet de créer des fichiers, lire,etc et qui me retourne un acquittement.

    Je travail sous Flex builder 3 avec Cairngorm.

    Merci,

    Jazys

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Par défaut
    Quand tu parles de processus tu veux dire des applications externes à Flex, exécutées sur le poste ?
    Comment fais-tu pour exécuter ces applications depuis Flex ?

  3. #3
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2005
    Messages : 64
    Par défaut
    Alors si tu veux, j'ai une application air, qui a un moment donnée a besoin d'exécuter un jar avec certains arguments (cf post dont tu ma répondu).

    En flex, je sais qu'il est possible d'exécuter des .exe sans trop de difficulté.
    Donc j'ai fait un wrapper en C++ qui me permet de lancer mon programme jar.

    Le Wrapper est bien un programme externe au flex qui est sur la mahcine cliente.

    Ce programme java, comme je l'ai dit plus haut me permet de faire un certain nombre de chose (ça dure a peu près 5 secondes).

    Et ce que je dois faire c'est attendre que ce programme se soit terminé pour des raisons de synchronisation.

    J'espère que c'est un peu plus clair.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    793
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Avril 2009
    Messages : 793
    Par défaut
    et finalement tu utilises quoi pour lancer ton wrapper depuis AIR ?

    Il faut que cette application soit capable de renvoyer une information vers l'application AIR quand le programme est terminé.

    Côté AIR tu attends cet événement pour poursuivre ton traitement.

  5. #5
    Membre confirmé
    Profil pro
    Étudiant
    Inscrit en
    Février 2005
    Messages
    64
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2005
    Messages : 64
    Par défaut
    Mon application (.exe) renvoie déjà une information que j'arrive à lire (cf outputdata) mais comment être sur que l'évènement est bien terminé?

    Je vais te montrer un bout de code, je suis obligé de couper des partie de mon code car le projet que je fais est confidentiel.

    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
    37
    38
    39
     
    /*création d'un nouveau processus */
    			model.process = new NativeProcess();
    			var nativeProcessStartupInfo:NativeProcessStartupInfo = new NativeProcessStartupInfo();
     
     
    			/*Obtention du chemin absolu du Wrapper */						
    			var absolutePathOfWrapper:String="Wrapper.exe"
    			var absolutePathOfjar:String="programme.jar"
    /*lancement de la machine java avec le prog jar et ses arguemts */
    			var args:Vector.<String> = new Vector.<String>();
       			args.push("chemin de la machine virtuelle");
       			args.push("-jar");
       			args.push(" \""+ absolutePathOfjar+"\"");
       			args.push(" build");
     
        		nativeProcessStartupInfo.arguments = args;
     
    			nativeProcessStartupInfo.executable = file;
    			model.process.start(nativeProcessStartupInfo);
     
     
    			/*on pose un ecouteur */
    			model.process.addEventListener(ProgressEvent.STANDARD_OUTPUT_DATA, onOutputData);
    			model.process.addEventListener(ProgressEvent.STANDARD_INPUT_PROGRESS, inputProgressListener);
     
    		}
     
     
    		public function onOutputData(event:ProgressEvent):void
    		{
    			Alert.show(model.process.standardOutput.readUTFBytes(model.process.standardOutput.bytesAvailable).toString());
     
    		}
     
    		public function inputProgressListener(event:ProgressEvent):void
    		{
    			model.process.closeInput();
    		}
    Comme je travail sous cairngorm (et que je suis débutant sur le flex), j'ai parfois du mal à comprendre, comment sont gérées les évènements.

    Edit : je pense avoir trouvé, mais je vais devoir un peu remanié mes classes ^^.

    Merci pour l'aide

Discussions similaires

  1. Attendre la fin de l'exécution d'un shell
    Par ouisansdoute dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 08/10/2008, 14h36
  2. Réponses: 11
    Dernier message: 26/06/2008, 22h41
  3. Attendre la fin de l'exécution d'une instruction?
    Par mhanyu dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 23/08/2007, 16h41
  4. Réponses: 7
    Dernier message: 18/07/2007, 16h40
  5. Attendre la fin d'exécution d'un page en JS
    Par TekP@f dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/08/2005, 15h15

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