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
11
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