2010-09-17 6 views
0

J'ai deux fichiers SWF que j'appellerai containerand slave. Le fichier slave contient un MovieClip qui s'étend d'une classe que je vais appeler base. base s'étend MovieClip et est compilé dans un fichier SWC. slave inclut ce fichier SWC en tant que bibliothèque d'exécution, tandis que container l'inclut comme fusionné (et le fait référence de sorte qu'il doit être compilé dans le fichier SWF container).La classe dans le fichier SWF chargé ne peut pas utiliser la classe de base lors du chargement du fichier SWF

Les charges container la slave comme ceci:

bgURLRequest = new URLRequest(slaveUrl); 
var context:LoaderContext = new LoaderContext(false, new ApplicationDomain(null), SecurityDomain.currentDomain);   
bgLoader.load(bgURLRequest, context); 

Lorsque ce chargement se produit, je reçois l'erreur qui n'a pas été trouvé classe base. Je soupçonne que cela a quelque chose à voir avec la présence du ApplicationDomain là-dedans. Je ne suis pas sûr de ce qu'il fait exactement, puisque je n'ai pas écrit ce code de chargement moi-même (mais je sais qu'il est là pour une raison, donc il ne peut pas être simplement supprimé).

Comment réparer?

Répondre

0

C'est la solution

new LoaderContext(false, new ApplicationDomain(ApplicationDomain.currentDomain), SecurityDomain.currentDomain); 
0

Utilisez ApplicationDomain.currentDomain et de suivre les classes disponibles avec les super getDefinitionNames disponibles à: http://etcs.ru/pre/getDefinitionNamesSource/

Au moins vous saurez ce qui est disponible dans le fichier SWF chargé.

Questions connexes