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 :

HTTPService and Display Synchronisation


Sujet :

Flex

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 32
    Par défaut HTTPService and Display Synchronisation
    Bonjour,

    --> Niveau : 3 jours de FLEX.

    Presentation : j ai une application qui lorsque je double click sur un element me creer un NodeInformation qui est une mx:TitleWindow.

    main.mxml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    .....
    public function itemDoubleClick(event: Event, text: String, id: String): void {
         var nodeInformation:NodeInformation=NodeInformation(   popUpManager.createPopUp( this, NodeInformation , true) );
              		nodeInformation.setNode(text,id);
                }
    .....
    Lors de la creation de cette fenetre je fais appelle a un HTTPService afin d'obtenir un contenu xml et ainsi pour voir renseigner les champs de ma fenetre.


    NodeInformation.mxml :

    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
    40
    41
     
    <?xml version="1.0" encoding="utf-8"?>
    <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"
    	layout="absolute" width="600" height="400"
    	 borderColor="#666666" backgroundColor="#666666"
    	  horizontalAlign="center" verticalAlign="middle"
    	  close="onClose()" showCloseButton="true"   
              preinitialize="hostData.send()">
     
     
     <mx:HTTPService id="hostData" url="http://127.0.0.1/host.xml"
    		requestTimeout="20"	showBusyCursor="true"
    		resultFormat="e4x"
    		result="gotHostData(event)"/>
     
     <mx:Script>
            <![CDATA[
     
            var data: XML;
       ...
     
    private function gotHostData( event: ResultEvent ):void {
    	data = event.result as XML;
    }
     
    public function setInfoText():void {
    	infoText.text = data.toString();
    }
     
     </mx:Script>
     
    <mx:HBox width="100%" height="100%">
            <mx:Accordion id="accordion" width="100%" height="100%" initialize=";">
                  <mx:Canvas label="General Information" width="100%" height="100%" >
                    <mx:Text id="infoText" width="100%" height="100%" initialize="setInfoText()" />
                </mx:Canvas>
            </mx:Accordion>
     
        </mx:HBox>
     
    </mx:TitleWindow>
    Probleme : l appel a la fonction setInfoText() se fait avant que le handler du httpService est recu la reponse et execute gotHostData() ce qui a pour effet de creer un Null Pointer Exception.

    J ai essaye de mettre un preinitialize="hostData.send()" cependant la methode send etant asynchrone setInfoText() s execute quand meme avant.
    Si j enleve le initialize dans <mx:Text id="infoText" width="100%" height="100%" initialize="setInfoText()" /> pas de pb cela se passe bien cependant est ce que je risque pas d avoir une pages blanche qui s affiche si HTTPService est long a repondre ?

    Question :
    * est il possible d attendre le retour de l appelle a hostData.send() ( HTTPS ervice) avant de lancer la methode setInfoText() ?
    * est t il possible de passer d atures parametres au constructeur var nodeInformation:NodeInformation=NodeInformation( ) afin de donner directement le resultat et dans ce cas comment le repercuter dans le code de NodeInformation.mxml ?
    * y a t il un autre moyen de faire cela en ordonnancant les appels dans le code d un autre facon ?


    Merci

  2. #2
    Rédacteur

    Avatar de loka
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2004
    Messages
    2 672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 672
    Par défaut
    Bonjour,

    Quel est le problème rencontré ?

  3. #3
    Membre averti
    Inscrit en
    Mars 2007
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 32
    Par défaut Maj du poste
    Petit pb avec l habitude de [tab] [enter] pour indenter le code qui ici a poste mon message avant que j ai pu finir d exposer le probleme.

  4. #4
    PeZ
    PeZ est déconnecté
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 14
    Par défaut
    Citation Envoyé par ecatum
    * est il possible d attendre le retour de l appelle a hostData.send() ( HTTPS ervice) avant de lancer la methode setInfoText() ?
    Fais appel à ta méthode setInfoText dans ton gestionnaire de result , c'est-à-dire dans ta méthode gotHostData.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    private function gotHostData( event: ResultEvent ):void {
    	data = event.result as XML;
            infoText.text = data.toString();
    }

Discussions similaires

  1. Drag and drop "de l'extérieur"
    Par Invité dans le forum C++Builder
    Réponses: 12
    Dernier message: 31/03/2020, 10h10
  2. [Look and feel] Texte des JLabels en gras
    Par aliasjcdenton dans le forum AWT/Swing
    Réponses: 11
    Dernier message: 26/01/2006, 11h49
  3. Fip, modbus and co...
    Par xave dans le forum Développement
    Réponses: 2
    Dernier message: 24/05/2002, 13h25

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