![]() |
|
||||||||||
|
|||||
|
Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
|
Здравствуйте уважаемые.
Интересует такой вопрос: Есть группа объектов которая в protected static хранит ссылку на некий класс созданный для выполнения ряда операций (назовем его "работяга"). Каждый объект хранится в своей fla. На сколько я понимаю после компиляции "работяга" должен присутствовать в каждой swf. Помнится когда в класс импортируется некий класс, то при компиляции осуществляется проверка на наличие используемых переменных и методов в коде. Если большинство объектов содержит "работягу" на сколько разумно все делать через композицию? Я так понимаю что для protected при компиляции в swf попадет только тот набор действий который используется в работяге для текущего объекта. И так после компиляции каждый swf содержит своего "работягу". Но это подразумевает что при изменении механизма самого "работяги" надо каждый раз делать компиляцию всех объектов его использующих? Или static ссылка также хранит только вызываемые в этом объекте свойства и методы для "работяги", а значит перекомпилировать надо будет только те элементы которые пользуют конструктор "работяги"? У меня сейчас проект в котором делаю некоторое подобие компонентов(знаю изобретение велосипеда, но собирая свой велосипед можно набить не одну шишку и набраться опыта). Все они работают с классом который отвечает за работу со свойствами этих компонентов. Если я буду в дальнейшем модифицировать своего работягу(добавлять новые методы, или оптимизировать существующие без модификации самого API) что придется каждый раз все компоненты перекомпилировать?
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ |
|
|||||
|
.
|
Если в applicationDomain содержится класс "работяга" и swf-ки грузятся в тот же applicationDomain, то при конфликте, класс в основном приложении не будет затерт вновь подгруженным. Следовательно, ссылка в компоненте на класс "работяга" укажет на класс в основном приложении.
Ответ. Перекомпиляция всех компонент не нужна. Еще бы сделать для "работяги" exclude class во всех компонентах. Могу ошибаться, не пробовал. |
|
|||||
|
Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
|
Цитата:
Что такое exclude class?
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ |
|
|||||
|
стервочка (я мужик)
|
dimarik, это в АС2 он будет затёрт. в АС3 наоборот всё.
Добавлено через 2 минуты по крайней мере у меня так. класс в родительской СВф не преписывается, а в дочерней берётся родительский. Последний раз редактировалось BlooDHounD; 16.04.2009 в 16:17. |
|
|||||
|
.
|
Тогда в компонентах делать exclude и getDefinitionByName в конструкторе, чтобы инициализировать статик-свойство.
Кстати, зачем protected static? В ас3 вроде не наследуются статичные члены. |
|
|||||
|
Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
|
Что такое exclude class?
Во Flash CS4 что то не попадалось такое на глаза. Фишка от Flex? BlooDHounDчто то не очень врубился в ваш метод.
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ |
|
|||||
|
.
|
Для ас2 такое было во FlashIDE (Learning ActionScript 2.0 in Adobe Flash -> Classes > About working with built-in classes > Excluding classes). Во флексе можно метатегом задать, или, если используется swc, то можно указать Link Type: External (в отличие от Merget into code). Поищите, может подобное есть для ас3 во FlashIDE.
|
|
|||||
|
стервочка (я мужик)
|
SunShadow, я никакого метода и не описывал.
Добавлено через 2 минуты в АС3 можно делать так называемые External Library. они же exclude classes. это swc, классы который не в компилируются в СВФ. вкопиливаются только сигнатуры. |
|
|||||
|
Регистрация: Apr 2008
Адрес: Россия, Новосибирск, Академгородок
Сообщений: 355
|
А вот теперь стало понятно)
__________________
Хочу IQ как ICQ, ну или хотя бы ICQ как IQ |
![]() |
![]() |
Часовой пояс GMT +4, время: 21:43. |
|
|
« Предыдущая тема | Следующая тема » |
|
|