Boucle infinie pas finie !!!

Cgaybeul Messages postés 105 Date d'inscription vendredi 25 juin 2004 Statut Membre Dernière intervention 11 décembre 2006 - 5 mai 2006 à 13:13
SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007 - 5 mai 2006 à 20:03
bonjour !

voilà mon problème :
J'ai une boucle (if) qui parcours un fichier xml avec plus de 600 neouds à analyser.
Je n'ai besoin d'en extraire que quelques-uns spécifiques.
Mon problème c'est que si mon premier noeud à extraire est après le 256 ème, j'ai le message suivant :

256 niveau(x) de récursion ont été dépassés dans une liste d'actions.
Il s'agit probablement d'une boucle infinie.
L'exécution d'actions a été désactivée dans cette animation.

Je ne trouve nul part comment résoudre cette limitation ... Je préfèrre garder mon gros fichier XML qui me sert pour une autre anim du site.

Si quelqu'un à une idée, une piste, une solution ... Merci d'avance.

3 réponses

SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007
5 mai 2006 à 13:39
> "J'ai une boucle (if)"

Non, if n'est pas un opérateur de boucle !
Pour faire une boucle il faut utiliser (d'autres solutions existes)
for (var i=0; i<1000; i++) {
instructions;
}
Là, tu fais certainement l'analyse de ton fichier XML de manière récursive ; ce qu'il faut éviter généralement en Flash.

SuperDevy, c la !
0
Cgaybeul Messages postés 105 Date d'inscription vendredi 25 juin 2004 Statut Membre Dernière intervention 11 décembre 2006
5 mai 2006 à 18:07
oui effectivement, je me suis mal exprimé ... En fait j'avais une condition "if" dans une boucle do / while, qui devait me permettre de réécrire un nouveau XML à partir de ma séléction des quelques noeuds qui valident ma condition.

Mon problème est que ma condition ne se vérifie que 2 ou 3 fois sur les 600-700 passages et après avoir échoué plus de 256 fois dans la vérification, flash me dis : "256 niveau(x) de récursion ont été dépassés dans une liste d'actions.
Il s'agit probablement d'une boucle infinie.L'exécution d'actions a été désactivée dans cette animation."

"Là, tu fais certainement l'analyse de ton fichier XML de manière récursive" = peut-être oui ?!? pas sur de bien comprendre ;-)

Ca ne résoud en rien mon problème, mais ça m'a quand même permis de le cerner mieux ...

merci, à +
0
SuperDevy Messages postés 842 Date d'inscription dimanche 24 novembre 2002 Statut Membre Dernière intervention 2 juillet 2007
5 mai 2006 à 20:03
Ce type de problème ne m'est jamais arrivé en utilisant des boucles. Soit il y a un problème pour la sortie de ta boucle, soit le bug viens d'ailleur. Montre-nous ton code stp.

SuperDevy, c la !
0
Rejoignez-nous