Klasse in geladener SWF kann nicht Basisklasse beim Laden des SWF verwenden
-
03-10-2019 - |
Frage
Ich habe zwei SWF-Dateien, die ich container
and slave
nennen. Die slave
-Datei enthält eine Movieclip, die von einer Klasse erweitert werde ich base
nennen. base
MovieClip
erstreckt und in ein SWC zusammengestellt. slave
umfasst diese SWC als Runtime-Bibliothek, während container
enthält es als fusionierte (und tut Referenz, damit er in den container
SWF kompiliert werden soll).
Die container
lädt die slave
etwa so:
bgURLRequest = new URLRequest(slaveUrl);
var context:LoaderContext = new LoaderContext(false, new ApplicationDomain( null ), SecurityDomain.currentDomain);
bgLoader.load(bgURLRequest, context);
Wenn diese Belastung geschieht, erhalte ich die Fehlermeldung, dass Klasse base
wurde nicht gefunden. Ich vermute, das hat etwas mit der Gegenwart des ApplicationDomain
dort zu tun. Ich bin mir nicht sicher, was es tut genau, da ich diesen Laden Code nicht schreiben mir (aber ich weiß, dass es für einen Grund gibt es, so dass es nicht einfach entfernt werden kann).
Wie beheben?
Lösung
Dies ist die Lösung
new LoaderContext(false, new ApplicationDomain( ApplicationDomain.currentDomain ), SecurityDomain.currentDomain);
Andere Tipps
Mit ApplicationDomain.currentDomain und verfolgt die verfügbaren Klassen mit dem Super getDefinitionNames unter: http: // etcs. ru / pre / getDefinitionNamesSource /
Zumindest werden Sie was in der geladenen SWF kennen.