![]() |
Не отрабатывают события внутреннего контейнера
Парни странная тема творится , не могу понять в чем мистика :
Имеем флешка A , которая грузит флешку B Из флешки B послыается событие типа new Event("mnogoBukav") Во флешке А подписывается флешка B - ждем события. Ранее был такой косяк, что не летело событие текстовое его название было "ierror" . Однако сменив его на ixerror например - стало летать.... Сейчас такая же петрушка с названием например waslogged - но в данной ситцуации на что не меняй название событие не летит. А вот теперь по делу : события пркрасно отрабатывают тестируй я локально, но в сети - нет. В чем может быть трабла? ( P.s. пробовал по разному, как с создание кастома, так и просто текстом - все одно не летит ) |
в "чистом виде" трабл не воспроизводится
стало быть, есть еще какие-то "отягчающие" обстоятельства |
проверь ApplicationDomain.
|
silin - да если бы я не мог диагностировать косяк в коде - грошь мне цена была бы, если ты об этом. Тут именно какой специфический флешовый типа аля ApplicationDomain как undefined - пишет.
Вот полный пример А - cont.addEventListener(ExternalEvent.NAME, some); B - Main - > controller - > host.dispatchEvent(new Event("name")) Флешка А и B - документ Main. Заявляю авторитетно , что было прям именно так, что вначале событие звалось ierror не приходило, кроме как изменив название на ixerror ничего не делал - стало приходить. Есть мнения почему такое было возможно? Как мне кажется вплоне возможно что такое имя евента есть в стандарте поэтому оно как то игнорилось Добавлено через 48 секунд P.s/. Опять же, как уже сказал - локально пашет на ура - не работает только в сети |
речь не о косяке в коде, а о том, что описанная тобой ситуация в голом виде не дает такого косяка
вот тест трабла, который работает добавь сюда свои нюансы (если что-то не соответствует), чтоб перестало и что-то, возможно, прояснится, а иначе это гадания на кофейной гуще.. Код AS3:
Код AS3:
|
silin - обе флешки должны быть Main или это не имеет значения?
|
обе флешки не могут быть Main или же это должны быть одинаковые флешки, нельзя иметь два разных Main в одном ApplicationDomain (нельзя загрузить Main в флешку, где уже есть такой класс)
|
Цитата:
|
Полагаю, что ты всю жизнь не знал, в какой ApplicationDomain ты загружаешь свои флешки. Потому что при попытке загрузить в ApplicationDomain класс с именем, которое в этом ApplicationDomain уже зарегистрировано, ты получишь что класс не будет заменен. Загруженной флешкой будет использоваться класс, который был в ApplicationDomain до ее загрузки. Да-да, именно так =)
|
gloomyBrain - вот хз что то. Структура такая
A - someNameDocumentNotMain B - Main C- Main а грузит б, б - грузит с. Коннект событий между б и с соответсвенно. Загрузка происходит как раз таки в new AppDomain Код AS3:
|
Попробуй через sharedEvents пробросить событие.
|
Спасиб Дим, посмотрю, что это такое.
|
| Часовой пояс GMT +4, время: 08:29. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.