![]() |
Наследование компонентов
вот базовый компонент AComp
Код:
<?xml version="1.0" encoding="utf-8"?>Код:
<?xml version="1.0" encoding="utf-8"?>Multiple sets of visual children have been specified for this component (base component definition and derived component definition). если убрать либо Label в первом классе либо Button во втором то все работает нормально скажите плиз, что это может быть? |
1. Абсолютно бессмысленная попытка наследоваться от MXML компонентов - ничего кроме кучи плохопахнущего кода вам не принесет :) и головной боли в итоге еще больше.
2. Сгенеренный из MXML AS файл не сохраняет последовательнось объявлений переменных из MXML'я - почему так сделали - не понятно, просто еще один из маразмов MXML'я... изза этого mx компоненты вместо того чтобы добавлять детей в дисплей лист родителя создают ChildList из этих детей а потом в рандомальном порядке их добавляют :) 3. Этот самый список детей не заточен под то, чтобы их могло быть несколько у одного компонента - поэтому родительский компонент, когда обнаружит у себя 1 список и запоздалую попытку что-то в него добавить будет сопротивлятся :) Вобщем, просто не наследуйтесь от MXML компонентов. Если вы попали в ситуацию, когда вам это по какой-то причине необходимо сделать - просто удалите MXML компоненент от которого собирались наследоваться, а если компонент написан не вами, то можно еще и смело настучать по ушам тому, кто этот компонент вам оставил :) |
мдааа.... грустно ведь жить без наследования (((
а как быть если я хочу что бы некий функционал был у разных класов ((( дублировать код?:confused: |
А кто вас заставляет наследоваться от MXMLя? Наследуйтесь от AS класса... MXML не задуман для того, чтобы от него можно было наследоваться. Технически возможно - но это скорее артефакт, просто потому что нельзя класс как final объявить.
|
MXML задуман только для одного - по резкому набросать заказчику макет, с тем, чтобы было о чем говорить. Нормальное приложение на mxml? Бяка. Даже если это чудовище и будет работать не треща по швам, то кто его будет поддерживать? А про расширяемость и унификацию я вообще молчу.
|
DCH:
Писать всё на AS во Flex-е - паранойя. Есть то, что на mxml гораздо удобнее и быстрее осуществить, нежели на AS. Что-то правильнее делать на AS. Но переходить из крайности в крайность - ошибочно, с моей точки зрения. |
Ну, скажем статическую надпись, и вьювстэки может, действительно удобнее сделать на MXML. Но все остальное - увольте. Кто-то может иметь другие идеи по этому поводу, но когда дело доходит до глобальных изменений, повторного использования, переопределений и других прелестей ооп - MXML'ем делать нечего. Да и к as3 генерируемому я с предубеждением отношусь.
|
| Часовой пояс GMT +4, время: 12:08. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.