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 :

Comportement asynchrone de FLEX


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 190
    Par défaut Comportement asynchrone de FLEX
    Bonjour,
    Dans un Switch Case, j'appelle une fonction qui met un peu de temps pour finir son traitement.
    Avant de re-boucler sur le Switch Case (que j'ai mis dans un FOR EACH), j'aimerais bloquer le programme jusqu'à ce que la première fonction aura finie son traitement.
    Avez vous une idée pour mon problème?

    Merci d'avance

  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
    Si le traitement exécuté dans la boucle est asynchrone et que tu dois attendre la fin du traitement précédent pour exécuter le suivant il faut utiliser une variable de classe qui contiendra un index sur ta collection.
    Tu la positionne à zéro et ensuite tu exécutes ton premier traitement. A la fin de ce traitement tu incrémentes ton index et tu exécutes le second traitement, etc...
    Il faudra utiliser la notion d'événement.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 190
    Par défaut
    Merci pour a réponse,
    mais je ne vois comment utiliser la notion d'évenement

  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
    Quel genre de traitement long est-ce que tu exécutes ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 190
    Par défaut
    le traitement n'est pas long, mais j'ai deux animations qui durent 2 secondes.
    je veux lancer la deuxième animation après la fin de la première.
    Ces animations sont réalisées par des fonctions.

    Merci

  6. #6
    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
    Quelle type d'animation ? On gagnerait du temps si tu mettais un extrait de ton code.
    S'il y a un événement qui permet de détecter la fin de l'animation tu ajoutes un listener associé à cet événement qui exécute l'animation suivante.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 190
    Par défaut
    Voici à ce que ressemble mon code:

    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
    			switch(choix)
    			{
    				case 1 :	
    					//Traitement
    				break;
     
    				case 2 :	
    					//Traitement
    				break;
     
     
    				case 3 :	
    					//appel d'une fonction qui fait une animation
    				break;
     
     
    				case 4 :
    					//Appel d'une autre fonction qui fait une animation
    				break;	
    			}
    Ce code est appeler dans une boucle qui récupere les données via HTTPService, le problème est visible si le case 3 et le case 4 se suivent.
    L'animation permet de faire déplacer une image d'un point A à un point B, elle prend 2 secondes.

    MErci

  8. #8
    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
    Oui bon j'avais compris le switch, ce que je sais pas c'est le contexte d'appel de ce switch et les traitements effectués...

    Bref pour sérialiser tes animations il faut :
    1- appeler le HTTPService #1
    2- à la réception de la réponse exécuter l'animation 1
    3- à la fin de l'animation appeler le HTTPService #2
    4- à la réception de la réponse exécuter l'animation 2
    etc..

    Ou alors il faut empiler les résultats des HTTPService dans une liste et dépiler cette liste élément par élément. Mais dans ce cas rien ne certifie que les réponses seront reçues dans l'ordre des requêtes.

    C'est tout ce que je peux dire vu le peu d'informations que tu fournis...

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2008
    Messages
    190
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2008
    Messages : 190
    Par défaut
    Bonjour,
    Merci pour la réponse. Je ne peux pas mettre le programme sur le Forum.
    Le switch est placé dans une fonction, cette fonction est appelé lors de parssing de HTTPService, dans une boucle FOR EACH.
    Dans la réponse HTTPService, il se peut que deux animations se poursuivent (dans la même réponse HTTPService). Ces animations durent environ une seconde
    Sinon, j'aimerais savoir s'il est possible de bloquer le programme pendant un temps X

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [FB4] Customisation du comportement du designer flex
    Par tiboutchu dans le forum EDI/Outils
    Réponses: 0
    Dernier message: 14/04/2011, 12h25
  2. [CS5] Flex : comportement bizarre
    Par Madfrix dans le forum ActionScript 3
    Réponses: 0
    Dernier message: 17/10/2010, 12h00
  3. [CS5] Comportement asynchrone ?
    Par Madfrix dans le forum ActionScript 3
    Réponses: 4
    Dernier message: 06/10/2010, 00h14
  4. Connexion asynchrone RS232 Comport
    Par thelife dans le forum Débuter
    Réponses: 2
    Dernier message: 07/04/2010, 08h10
  5. Réponses: 6
    Dernier message: 25/03/2002, 21h11

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