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

Flash Discussion :

[FLASH MX 2004][XML]portée de variable


Sujet :

Flash

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7
    Par défaut [FLASH MX 2004][XML]portée de variable
    bonjour tlm,

    j'ai un souci avec la porté des variables.
    j'ai un movie clip dans lequel je crée un objet XML, sur le onLoad je "trace" differentes infos, et je les stockent dans des variables.
    par la suite je voudrai appeler une fonction qui irai chercher des infos dans l'objet XML et qui utiliserai les variables stockées sur le OnLoad, mais mon objet XML n'est pas utilisable(undefined) et mes variables non plu!

    voila le code en question:
    la fonction qui me marche pas est donc getSourceNum()
    dans cette fonction nbSource est undefined et sessionXML aussi.

    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
     
    sessionXML = new XML();
     
    sessionXML.ignoreWhite = true;
     
    sessionXML.onLoad = function (ok) {
    	if(ok) {
    		//___ affiche le domaine
    		domaine = sessionXML.firstChild.attributes.domaine;
    		trace("Domaine: "+domaine);
     
    		//___ affiche le nbre de source dispo pour le domaine
    		nbSource = sessionXML.firstChild.childNodes.length;
    		trace("Nbre de source pour le domaine: "+nbSource);
     
    		//___ affiche le nbre de cible pour chaque source
    		for(i=0;i<nbSource;i++){
    		nbCible = sessionXML.firstChild.childNodes[i].childNodes.length;
    		nomSource = sessionXML.firstChild.childNodes[i].attributes.url;
    		trace("Source "+nomSource+":"+nbCible+" cible(s) dans le fichier");
    		}
    	}	
    }
     
    /*
    * renvoi le numero de la source dont l'url correspond a celle recherchée  
    */
    getSourceNum = function (s){
    	for(i=0;i<nbSource;i++){
    		urlSource = sessionXML.firstChild.childNodes[i].attributes.url;
    		trace(urlSource+" "+s);
    		if(urlSource == s) { return i; }
    	}
    }
     
     
     
    sessionXML.load("session01.xml");
    trace(getSourceNum("/6"));
    je precise, c'est avec MX 2004.

    pourriez vous me donner votre avis sur la question?
    merki
    ++

  2. #2
    Membre Expert
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Par défaut
    Salut

    essaye d'appller la fonction apres avoir charge le xml donc dans le onLoad

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7
    Par défaut
    oui j'ai essayé ça et ça marche sans souci,
    mais j'aurai besoin d'appeler cette fonction sur un evenement bouton donc elle ne serai pas accesible dans ce contexte là...

  4. #4
    Membre Expert
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Par défaut
    c normal quelle ne fonctionne pas car le xml n'est pas encore chargé

    il faut mettre l'action de bouton dans le onLoad

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7
    Par défaut
    je pe tester avec loaded peut etre et si jamais mettre en attente(ça je ne c pas comment)

    il faut mettre l'action de bouton dans le onLoad
    comment faire ça?
    j'aurai plusieurs bouton qui appeleront le meme fonction mais avec des paramètres différents

    merci pour ton aide

  6. #6
    Membre Expert
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Par défaut
    dans ton onLoad

    tu fais un truc comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    xml.onLoad = function(ok){
     
    // chargement du fichier xml
    // traitement du fichier xml
    // action sur le bouton
    Monbout.onPress = function () {
    // tu places ton actions
    }
     
    }

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7
    Par défaut
    oki je vois, la solution est pas mauvaise
    mais je vais créer mes boutons dynamiquement
    donc ils seront en nombre variable

    je v voir si je peux m'arranger avec un tablo pour faire ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    bouton[0][0].onPress = function (bouton[0][1]) {
    // actions
    }
    ça doit marcher ça non?je teste dès que je retourne au boulot!

    marco_il est compliqué je sais :o

  8. #8
    Membre Expert
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Par défaut
    oui ca marche tu peut également utiliser une varaible de référence

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    var bouton = bouton[0][0]
    bouton.onPress= function(){
    // test
    }
    en passant c 'est quoi bouton[0][0]

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7
    Par défaut
    alors bouton[0][0]
    en fait c'est un tableau multii dimensionnel donc
    bouton[0][0] represente mon objet bouton
    et
    bouton[0][1] represente la valeur a passer en parametre si on clic sur le bouton [0][0]

    je suis en plein dedans là, mais c pas si evident que ça quand même
    je pense que j'aurai d'autres questions a poser, mais pour le moment je cherche plutot a comprendre certains mécanisme de flash avec les variables

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 09/07/2005, 23h10
  2. Réponses: 6
    Dernier message: 13/05/2004, 15h40
  3. Réponses: 4
    Dernier message: 07/05/2004, 21h15
  4. [FLASH MX 2004] Acceder aux variables d'une Popup
    Par freegreg dans le forum Flash
    Réponses: 3
    Dernier message: 05/05/2004, 21h13
  5. [FLASH MX 2004 pro] DATASET, XML, ASP
    Par kenshi dans le forum Flash
    Réponses: 4
    Dernier message: 27/01/2004, 10h38

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