Voilà, je pense que la solution à ton problème se trouve ici: http://cookbooks.adobe.com/index.cfm?event=showdetails&postId=15487
On 10 oct, 06:03, "[email protected]" <[email protected]> wrote: > Bonjour, > > j'ai récemment téléchargé la nouvelle beta de flash builder et j'ai un > soucis avec getDefinitionByName. > Pour le sdk 3 j'ai un ensemble de classes qui charge dynamiquement les > composants graphiques > à partir d'un fichier de configuration et un swf pour avoir accès aux > définitions de classes des composants utilisés. > > Seulement voilà, si j'adapte bêtement le code en changeant addChild > par addElement : > > var classe:Class=getDefinitionByName > ("spark.components.Button") as Class; > var composant:*=new classe(); > this.addElement(composant); > > mais j'obtiens ça : > > Error: Apparence > deTest.ApplicationSkin2._ApplicationSkin_Group1.contentGroup.Button6 > introuvable. > > En effet, composant.skin est null alors que (new Button()).skin != > null > Il semble donc qu'aucun skin ne soit attribué par défaut par cette > méthode contrairement à une instanciation classique. > > Du coup j'ai rajouté le skin : > > var skinClass:Class=getDefinitionByName > ("spark.skins.spark.ButtonSkin") as Class; > var skin:*=new skinClass(); > skin.addElement(composant); > this.addElement(composant); > > Et là ça marche ! > > Mais il reste un soucis, si j'applique la même méthode avec un Panel, > il n'y a aucune exception de levée mais le Panel n'apparait pas et son > skin reste null. Il est tout de même rajouter à la scène, puisqu'on > peut lui ajouter un Button qui lui sera visible... > > Tout se règle évidemment, si je place un new Panel() quelque part dans > le code, mais je perds tout l'intérêt de mon chargement dynamique. > > Merci d'avance --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
