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

Répondre à