Hello :) Il faut que ta classe soit déclarée en dynamic pour pouvoir appeler des objets non définis dans un classpath de ton projet.
Tu pourras appeler ta classe "Site" directement sans te prendre la tête si tu mets la classe en "dynamic" Sinon tu peux créer une classe dans un package et la placer dans ton paramètre de liaison de ton symbole ou autre... A noter que pour trouver une classe tu peux utiliser la méthode flash.utils.getDefinitionByName() c'est plus simple que de passer par le loaderInfo.applicationDomain.getDefinition ;) Si tu charges ton swf dans un autre pour les assets tu peux charger ton swf dans le ApplicationDomain.currentDomain.. là encore cela t'évitera bien des soucis :) Lis bien la documentation de la classe Loader et la méthode load() à ce sujet. Pour finir sur un getDefinitionByName ou ta méthode getDefinition... tu peux utiliser le type "Class" au lieu de "Object" : var clazz:Class = getDefinitionByName( "MyClass" ) as Class ; var i:* = new clazz() ; A noter que si tu utilises FDT.. je te conseille vivement d'utiliser CTRL+MAJ+O pour gérer tes imports et d'éviter si possibles les imports en wildcard avec un .* à la fin... le compilateur compile bien plus vite si tu cibles tous les imports correctement et FDT le fais pour toi très rapidement ce qui permet de pas se soucier des imports et donc d'avoir un code optimisé sans se prendre la tête. EKA+ :) Le 6 août 2009 14:19, manheman <[email protected]> a écrit : > > > > Bonjour, > Je me suis mis à coder dans fdt et je dois dire que c'est un outil > formidable. > J'ai commencé une première application. Dans un premier se charge > un fichier de configuration xml, puis les assets graphiques... > Dans ma classe mère, j'ai un clip lié à une classe Site. > Pour pouvoir utiliser les différents éléments, je fais depuis la > classe mère : > package { > import flash.display.*; > public class Application extends MovieClip { > private var _site:Object; > public function Application() { > init(); > } > public function init():void { > createSite(); > } > private function createSite():void { > _site=this.loaderInfo.applicationDomain.getDefinition("Site"); > var _appli = new _site(); > addChild(DisplayObject(_appli)); > _appli["init"].apply(); > > } > } > } > Quand je compile dans flash, pas de problème mais dans fdt, j'ai > variable Site non définie. > Je pense que cela vient du paramètrage du compilateur dans fdt > mais je n'arrive pas à régler ce problème. > Merci pour votre aide. (cela manque des tuto sur fdt en > français...) > > > > --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
