![]() |
Проверка реализации интерфейса
Господа, здравствуйте!
Есть одна непонятная ситуация... По сути: Загружаем swf модуль и проверяем реализовывает ли он интерфейс. Если да, то настраиваем модуль. Код AS3:
В некоторой ситуации получаем false и настройка модуля не происходит. С типом target'а все впорядке. Данную часть кода переписал, не в лучшую сторону в плане красоты... но работает. Но в следующем куске кода не проходит проверка на реализацию другого интерфейса, реализованного самим модулем: Код AS3:
|
Все просто. Смотреть надо в сторону ApplicationDomain.
Грузить нужно флешку в тот же домен, что и у подгружающей вот выдрал пример кода из своей флешки, в которой происходит то же самое. Тут с loadBytes, но смысл тот же Код AS3:
|
caseyryan, в моём коде ApplicationDomain.currentDomain = null. Сдается мне что это не нормально. Не подскажете как можно это поправить?
Добавлено через 42 минуты Дело несомненно в applicationDomain! После задания загрузчику модулей Код AS3:
Осталось придумать что и как положить в ApplicationDomain.. |
Код который я привел точно рабочий. loadBytes можно заменить на load() но суть от этого не поменяется.
У меня с мопощью этого кода грузятся в игру персонажи, которые применяют интерфейс, имеющийся в самой игре. Если Аппликейшн домен не указать то при проверке e.target.content is IMovable вылетит false. Если указать - true. Почему у вас null мне не понятно. Надо глянуть хотя бы на минимальный пример того, что там и как происходит |
caseyryan, работает все следующим образом:
Запускается главный модуль приложения, из меню выбираем нужную вещицу. Загружается модуль этой вещицы. В некоторых модулях есть записи для просмотра которых нужно подгрузить модуль для данной записи. Проблема в том что если в двух "больших" модулях, для просмотра записей одинакового типа загрузить модули(сначала в первом "большом" открываем запись, затем во втором), то первый отработает на ура а во втором возникнет проблема с проверками на реализацию интерфейсов... но если тут же открыть запись другого типа, тем самым подгрузив её модуль все отработает на ура. Для загрузки модулей используется стандартный Module Loader обернутый во ViewStack и NavigatorContent. В обёртке есть: Код AS3:
Код AS3:
Код:
<?xml version="1.0"?> |
| Часовой пояс GMT +4, время: 17:02. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.