This[...] ou eval(...) avec objets enfants

Résolu
cs_lyonnel Messages postés 34 Date d'inscription samedi 16 octobre 2004 Statut Membre Dernière intervention 13 mars 2006 - 25 juin 2005 à 15:01
cs_lyonnel Messages postés 34 Date d'inscription samedi 16 octobre 2004 Statut Membre Dernière intervention 13 mars 2006 - 3 juil. 2005 à 18:21
salut,

quand je fais:

this["variable"+0]="coucou";
trace(variable0);
ca m'affiche bien le coucou espéré.

le problème vient qd j'utilise des sous-objets.
un truc du genre
this["variable"+0+".sousVar"+2]="coucou"; ne marche pas (je le comprends)
this["variable"+0].["sousVar"+2]="coucou"; non plus
this["variable"+0]["sousVar"+2]="coucou" , non plus
[this["variable"+0]]["sousVar"+2]="coucou" , non plus

bref quoi mettre pour qu'un trace(variable0.sousVar2); m'affiche "coucou" ?

M'enfin !?

2 réponses

pegase31 Messages postés 6138 Date d'inscription dimanche 21 décembre 2003 Statut Modérateur Dernière intervention 4 septembre 2013 12
25 juin 2005 à 16:53
Alors il ya effectivement 2 cas d'appel dynamique de variables :

- Les appels simples : "variable"+i
- Les appels multiples : "Clip"+i+".variable"+j

Le premier fonctionne effectivement avec :

this["Variable"+i];

Et donc, pour le second on serait tenté de faire :

this["Clip"+i+".Variable"+j]; ou bien : this["Clip"+i].this["Variable"+i];

Or, seul un seul appel dynamique n'est autorisé dans une ligne, alors comment faire?
Et bien avec "eval" qui reste la seule solution :

eval["Clip"+i+".Variable"+j];

Pour rappel, si on désire appeller une variable se trouvant dans un clip dynamique à 2 niveaux infèrieur, il est possible de faire :

_parent._parent["Clip"+i].MaVariable = "toto";

Peg'
Spécialiste des appels dynamiques en tout genre
3
cs_lyonnel Messages postés 34 Date d'inscription samedi 16 octobre 2004 Statut Membre Dernière intervention 13 mars 2006
3 juil. 2005 à 18:21
merci.
j'ai tout compris et ca marche.

M'enfin !?
0
Rejoignez-nous