Bon j'ai trouvé d'où venait le problème, mais pas comment le résoudre
proprement.
Je charge le swf de cette façon :

       var ldr:Loader = new Loader();
       var req:URLRequest = new URLRequest("library.swf");
       var ldrContext:LoaderContext = new LoaderContext(false, new
ApplicationDomain(ApplicationDomain.currentDomain));
       ldr.contentLoaderInfo.addEventListener(Event.COMPLETE,
completeLibrary);
       ldr.load(req, ldrContext);

et si j'essaie de récupérer les classes par un getDefinitionByName()
lorsque l'évènement COMPLETE est dispatché
je retrouve les erreurs du départ. Mais si je fais un setTimeout d'une
seconde avant, tout rentre dans l'ordre
et même le problème des skins disparait. (un simple addElement suffit)

Donc je suppose qu'il faut un délai après le chargement du swf pour
que tout soit complètement accessible.
Seulement je n'ai trouvé aucun évènement lié à ça ou même une
propriété à tester?

Merci zwetan pour ton article sur les ApplicationDomain, il m'avait
été bien utile quand j'ai commencé ce code.

Le script fonctionne comme ça :
-Il charge un fichier de configuration
-Si un ou des swf sont spécifiés dans le fichier de configuration, il
les charge(ils contiennent les définitions des classes utilisées)
-Il génère dynamiquement l'interface graphique de l'application à
partir du fichier de configuration.
-Il permet de récupérer les composants dont on a spécifié un
identifiant dans le fichier de configuration.
-Il permet de récupérer de la même façon des évènements configurés.
Sans forcément ce soucier de la source.

Et de l'autre côté j'ai un script où je crée mon interface par drag
and drop et qui me génère le fichier de configuration et le swf
contenant les classes nécessaires.
J'ai fait en sorte que ça fonctionne que l'on soit dans un
environnement pure AS3 ou avec le framework flex (il peut aussi
rajouter des éléments non Flex dans Flex à travers rawChildren). Et je
voulais le rendre compatible avec les composants spark. (il fonctionne
aussi virtuellement avec n'importe quel composant utilisant les
fonctions addChild,rawChildren.addChild ou addElement)

Ainsi je suis plus indépendant de l'interface, et je peux aisément la
modifier sans recompiler. Changer un composant par un autre (tant que
les méthodes appelées sur le composant restent compatibles) même
limite changer le framework utilisé (en tout cas en ayant des
changements limités dans le code).

Comme ça je ne suis pas lié à un framework particulier et je peux
travailler avec le même outil tout le temps:)


Merci de vous être penchés sur mon problème ;)
--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe Groupe "FCNG" de 
Google Groupes.
 Pour transmettre des messages à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour résilier votre abonnement à ce groupe, envoyez un e-mail à 
l'adresse [email protected]
 Pour afficher d'autres options, visitez ce groupe à l'adresse 
http://groups.google.com/group/fcng?hl=fr
-~----------~----~----~----~------~----~------~--~---

Répondre à