Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Модули и ApplicationDomain (http://www.flasher.ru/forum/showthread.php?t=142571)

Sneg 25.07.2010 02:39

Модули и ApplicationDomain
 
Добрый день.

Имеется модуль, который может несколько раз подгружаться/выгружаться (Flex 4). Сам модуль грузится как ByteArray, при загрузке используется следующий ApplicationDomain:

Код AS3:

var parentDomain:ApplicationDomain = ApplicationDomain.currentDomain;
var applicationDomain:ApplicationDomain = new ApplicationDomain(parentDomain);
 
moduleInfo.load(applicationDomain, null, byteArray);

После выгрузки и повторной загрузки модуля, происходит ошибка кастинга внутренних классов модуля в друг друга (невозможно привести ExampleClass в ExampleClass), происходит она в файле стиля - стиль вкомпилен в модуль. Если засунуть классы модуля в библиотеку и загружать её как RSL, то ошибки не возникает (оно и понятно), но этого категорически не хотелось бы делать - каким способом еще можно решить эту проблему и не совсем понимаю, почему она образовалась.

etc 27.07.2010 18:25

Значит где-то остаются ссылки на части модуля и он не выгружается целиком.

Sneg 29.07.2010 19:02

Решил проблему следующим образом. В компонентах стиля не использовать в качестве hostComponent'a один классов модуля, который может выгружаться и загружаться снова. Только стандартные для SDK компоненты, ошибка эта происходит именно в стилях модуля, судя по всем после выгрузки самого модуля его стили не выгружаются (динамическая загрузка/выгрузка стиля, как стороннего swf не помогла)


Часовой пояс GMT +4, время: 09:45.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2022, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.