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

ActionScript 3 Discussion :

Atteindre une propriété globale static depuis un listener


Sujet :

ActionScript 3

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2
    Par défaut Atteindre une propriété globale static depuis un listener
    Bonjour à tous,

    J'aurais besoin d'écrire dans la variable Global.intro (propriété statique de ma classe Global) depuis le listener déclenché au chargement d'un fichier XML. Problème : le xml charge bien, l'event est déclenché mais l'écriture dans la variable Global.intro ne porte pas plus loin que dans le listener lui-même (je peux pas récupérer le résultat dans le reste du code et encore moins dans une autre classe). Pourtant il s'agit d'une variable globale ?!

    D'où ma question : comment enregistrer dans une variable globale quoique ce soit issu d'un fichier XML.

    La fonction en question
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    private function getXMLValues() {
      var xmlLoader:URLLoader  = new  URLLoader();
      var xmlData:XML;			
      xmlData = new  XML(); 
      xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
      xmlLoader.load(new URLRequest("menu.xml"));
      function LoadXML(e:Event):void {
        xmlData = new XML(e.target.data);
        //Ecrire dans Globals.intro ---> problème !
      }
    la classe Globals.as

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    package
    {
       public class Globals
       {
    	  public static var intro:String = "";
       }
    }
    Merci d'avance !

  2. #2
    Invité de passage
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 1
    Par défaut
    Et en faisant comme suit ça donne quoi?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    private function getXMLValues() {
      var xmlLoader:URLLoader  = new  URLLoader();
      var xmlData:XML;			
      xmlData = new  XML(); 
      xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
      xmlLoader.load(new URLRequest("menu.xml"));
    }
    private function LoadXML(e:Event):void {
        xmlData = new XML(e.target.data);
        Globals.intro=xmlData.truc;
        //Ecrire dans Globals.intro ---> problème !
      }

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2
    Par défaut
    Bonjour,

    Merci beaucoup pour la réponse. J'ai réussi à atteindre mon but. En fait si j'ai bien compris mon problème c'est qu'avant que le fichier XML soit parsé et que l'event COMPLETE soit reçu le reste du programme s'est déroulé. Donc il m'a suffit de continuer le programme à partir du listener !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    private function getXMLValues() {
      var xmlLoader:URLLoader  = new  URLLoader();
      xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
      xmlLoader.load(new URLRequest("menu.xml"));
      function LoadXML(e:Event):void {
        var xmlData:XML;			
        xmlData = new  XML(); 
        xmlData = new XML(e.target.data);
        Globals.intro=  "ma valeur du fichier XML";
        // ici appeler la suiteDuProgramme;
      }
    // ici la variable globale n'aurait pas encore été modifiée
    }
    ...Enfin seulement si j'ai bien compris...

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

Discussions similaires

  1. [as 2]Atteindre une propriété enfant ou parent.
    Par NejNej dans le forum ActionScript 1 & ActionScript 2
    Réponses: 2
    Dernier message: 04/01/2010, 15h13
  2. rendre globale la valeur d'une propriété..
    Par islamune9 dans le forum VB.NET
    Réponses: 10
    Dernier message: 10/05/2007, 22h56
  3. Réponses: 9
    Dernier message: 13/03/2006, 17h45
  4. Réponses: 11
    Dernier message: 08/02/2006, 16h59

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