2010-02-04 5 views
2

Recherche sur le Web il existe des centaines de réponses aux raisons pour lesquelles getDefinitionByName ne fonctionne pas - parce que la définition de classe que vous essayez d'obtenir n'est pas incluse dans le swf.Comportement OdD getDefinitionByName - non lié à l'importation

Ce n'est pas ce problème.

Mon application charge un swc lors de l'exécution, le décompressant, lisant le fichier XML et affichant une liste de classes qui se trouvaient dans ce swc. Vous pouvez ensuite sélectionner une classe et elle sera ajoutée à la scène.

Lorsque je charge le SWC et essaie d'utiliser getDefinitionByName je reçois la trace suivante:

obtenir la classe: com.company.assets: AppFooterShadow
Erreur: Erreur # 1065: actifs variables: AppFooterShadow n'est pas défini.

La société com est supprimée dès le début!

De code similaire à ceci:

try 
{ 
    trace("getting class: " + definition); 
    var currentClass : Class = getDefinitionByName(definition) as Class; 
} 
catch(e : Error) 
{ 
    trace("error: " + e.message); 
} 

Si je tape un nom de classe dans une zone de saisie de texte et essayez de charger que cela fonctionne très bien - avec exactement la même chaîne étant passée à la fonction.

Quelqu'un a-t-il une idée de ce qui se passe ici? Cela me semble très étrange.

Répondre

0

Je ne peux pas croire combien de temps j'ai regardé cela et ne pas voir quel était le problème!

j'avais tapé ceci:

com.company.assets.AppFooterShadow

ce qui était dans la liste:

com.company.assets: AppFooterShadow

deux points au lieu d'un arrêt complet!

OK Je vais arrêter de parler à moi-même - s'il vous plaît ignorer cela!

+0

Je l'ai fait avant, l'homme –

Questions connexes