Prb porté de variable

Résolu
Signaler
Messages postés
182
Date d'inscription
jeudi 20 mai 2004
Statut
Membre
Dernière intervention
22 octobre 2010
-
Messages postés
182
Date d'inscription
jeudi 20 mai 2004
Statut
Membre
Dernière intervention
22 octobre 2010
-
bonjour,

voila dans l'une de mes class j'ai la méthode suivante :

public function initXml(adresse:String)
{
var listeNoeud = new Array();
var noeud_xml = new XML();
noeud_xml.ignoreWhite = true;
noeud_xml.onLoad = function()
{
listeNoeud = new Array();
var noeuds = this.firstChild.childNodes;

for (var i = 0; i < noeuds.length; i++)
{

listeNoeud[i] = new Noeud(noeuds[i].attributes.nom,parseInt(noeuds[i].firstChild.firstChild.nodeValue),parseInt(noeuds[i].firstChild.nextSibling.firstChild.nodeValue)
}

}
noeud_xml.load(adresse);
return listeNoeud;
}

la liste de noeud se crée bien dans la fonction declanché par le 'onload' , mais j'aurai aimé savoir comment faire pour la retourné depuis ma méthode initXml, il semblerait que la liste n'est plus d'existance une fois sorti de la fonction declanché par le onload. Surement un problème de portée de ma variable.

je vous remercie d'avance.

@bientot

2 réponses

Messages postés
517
Date d'inscription
mardi 23 décembre 2003
Statut
Membre
Dernière intervention
24 octobre 2006
1
Le probleme vient du onLoad qui est asynchrone. En gros le onLoad se lance apres la fin de ta fonction, donc ta fonction te retourne un objet vide. En plus tu redeclare ta variable dans le onLoad, ce qui fait que la variable est locale. Tu doit attendre la fin du chargement pour appeler une autre fonction.

A tchao !
Messages postés
182
Date d'inscription
jeudi 20 mai 2004
Statut
Membre
Dernière intervention
22 octobre 2010

ok je te remercie je v regardé a ca ;)