![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Привет!
Прошу помощи в разрешении следующей проблемы: Имею main.swf, которая загружается в оболочку написанную на Делфи. Клип main.swf на _root имеет контейнер page_mc (мувиклип) и набор управляющих символов (кнопок) Имеется класс ConnectorClass.as. В первом кадре main.swf инициализируется объект который и обеспечивает обмен данными и командами между оболочкой и main.swf своими методами. При загрузке в page_mc внешнего swf-клипа который не имеет в коде обращений к _root , все прекрасно работает. В противном случае подгруженный клип мертв в части работы его кода. Если же при загрузке клипа дать команду то клип работает «на ура», а обращение к connector-у не отрабатывается. Попытка сделать объект connector глобальным не увенчалась успехом: Так вообще не работает А так не помогает: Подозреваю, что во втором случае connector попросту переопределяется. Вопрос: как сделать connector (его методы) видимым даже при применении lockroot? Устранять обращения к _root в готовых клипах нет возможности, так как их порядка 1000 шт. Спасибо. |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Я предлагаю создать тестовый класс A, поставить его за место ConnectorClass и посмотреть на его поведение в дебаггере.
Я не знаю, что там за код, но в моей практике был случай связанный с использованием _lockroot, который меня озадачил часа на 3. У меня была управляющая флешка, в которой работал конвейером, он запускал методы экземпляров различных классов через apply. Флешка могла загружать и выгражать 5 модулей. Но один из модулей был написал с использованием _root и пришлось воспользоваться _lockroot. Вот тут и возникла проблема, при включенном _lockroot, apply забивал на то, что unloadMovie вызывается как метод мувиклипа, и использовал глобальную функцию и в результате выгружая абсолютно все. |
|
|||||
|
Спасибо, iNils, за совет.
Выкрутился я очень просто:
Но, один маленький "червячек" грызет разум: - как присвоить таки "_global" объекту класса? Что-то не получилось протестировать его на "глобальность". |
|
|||||
|
Негуру
администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,883
Записей в блоге: 7
|
Тут в ветке AS3 идет бурная баталия на тему синглтона.
У себя в проектах, я не парюсь на эту тему, так как знаю, что это, это и вот это, у меня всегда в единственном экземпляре. Поэтому у данных классов, есть статичное свойство, которое возращает мне этот самый единственный экземпляр. Если я правильно понял, то у тебя тот самый случай, поэтому вместо того, чтобы лезть на прямую в глобал, не попробывать ли обратится за ссылкой на экземпляр к классу? Кстати, а нельзя урезать проект до версии, чтобы осталась одна работающая ошибка ? Интересно поискать причину.Последний раз редактировалось iNils; 20.03.2008 в 18:56. |
![]() |
![]() |
Часовой пояс GMT +4, время: 19:24. |
|
|
« Предыдущая тема | Следующая тема » |
|
|