У меня есть родительский SWF-файл, который определяет базовый класс виджета.
Затем я загружаю внешний SWF в родительский. Класс внешнего SWF-документа является производным от базового класса Widget - назовем его, например, DerivedWidget.
Проблема в том, что когда я загружаю внешний SWF, я не могу преобразовать Loader.content (отображается в отладчике как имеющий тип DerivedWidget) к типу Widget. Я использую оператор «as» для преобразования содержимого как виджета в родительский SWF-файл после завершения загрузки, но приведение приводит к «null».
Такое поведение не ожидается, поскольку внешний SWF загружается в домен родительского приложения, а содержимое загрузчика отображается в отладчике как DerivedWidget, который, как я знаю, является производным от Widget, но приведение к базовому классу Widget не удается.
Может ли кто-нибудь объяснить это неожиданное поведение и предложить решение?
[Edit: оглядываясь на более ранний снимок кода ... это работало раньше, но теперь это не так ... и код загрузки и преобразования не изменился]
[Edit2: на самом деле, похоже, что при отладке во Flash IDE происходит сбой. При обычном запуске все загружается в правильный ApplicationDomain (sameDomain = true); это, очевидно, огромная ошибка]