|
|
|||||
Loader и ApplicationDomain
Вопрос у меня по работе доменов определении классов флешь плеера. Меня смутило то, что в официальной справке написано одно, а по факту работает по другому. Вот хочу внести ясность и разобраться.
Я хочу сделать динамическую подгрузку определений классов в рантайме. Беру Loader, передаю в метод загрузки параметры контекста, используя новый отдельный домен: var domain:ApplicationDomain = new ApplicationDomain(); loader.load(_request, new LoaderContext(false, domain)); Когда лоадер загрузит swf, в переданном ему домене будет пусто: Все определения классов, будут в домене лоадера: Более того, мне не нужен запущенный и висящий в памяти экземпляр Main класса загруженного swf, мне нужны только его классы. Я использую метод лоадера unloadAndStop() чтобы выгрузить и удалить текущий лоадер, оставив только определения его классов, как написано в описаний метода: Цитата:
Они выгрузились. Что за фигня? Добавлено через 25 минут Вообщем выяснилось, что оказывается, нужно ОБЯЗАТЕЛЬНО передать в конекст и текущий домен безопасности: Вот только тогда, будет работать, как написано в справке. То есть, классы загрузятся в переданный ApplicationDomain.
__________________
Дети не должны знать о своих родителях |
|
|||||
.
|
Все верно. Если загружаете из другого домена, то дефинишены попадают в другой секьюрити домен. А если из того же домена, откуда документ-класс родом, то они попадают в его секьюрити домен.
|
Часовой пояс GMT +4, время: 20:26. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|