2010-09-17 7 views
0

У меня есть два файла SWF, которые я назову containerand slave. Файл slave содержит мувиклип, который простирается от класса I, который будет называться base. base расширяет MovieClip и скомпилирован в SWC. slave включает этот SWC в качестве библиотеки времени выполнения, а container включает его как объединенный (и ссылается на него так, что он должен быть скомпилирован в SWF container).Класс в загруженном SWF не может использовать базовый класс при загрузке SWF

В container загружает slave как так:

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

Когда загрузка происходит, я получаю ошибку, что класс base не был найден. Я подозреваю, что это имеет какое-то отношение к присутствию ApplicationDomain. Я не уверен, что он делает точно, так как я сам не писал этот загрузочный код (но я знаю, что он существует по какой-то причине, поэтому его нельзя просто удалить).

Как исправить?

ответ

0

Это решение

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

Используйте ApplicationDomain.currentDomain и отслеживать доступные классы с супер getDefinitionNames доступных по адресу: http://etcs.ru/pre/getDefinitionNamesSource/

По крайней мере, вы будете знать, Что доступно в загруженном SWF.