|
|
|||||
Регистрация: Sep 2005
Сообщений: 194
|
Наследование компонентов
вот базовый компонент AComp
<?xml version="1.0" encoding="utf-8"?> <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="300" height="300"> <mx:Label id="labelField" width="100" height="30" text="label" /> </mx:Canvas> <?xml version="1.0" encoding="utf-8"?> <AComp xmlns="*" xmlns:mx="http://www.adobe.com/2006/mxml"> <mx:Button label="button" x="200" /> </AComp> Multiple sets of visual children have been specified for this component (base component definition and derived component definition). если убрать либо Label в первом классе либо Button во втором то все работает нормально скажите плиз, что это может быть?
__________________
нормально делай - нормально будет Последний раз редактировалось STILL.05; 17.06.2009 в 15:15. |
|
|||||
Modus ponens
|
1. Абсолютно бессмысленная попытка наследоваться от MXML компонентов - ничего кроме кучи плохопахнущего кода вам не принесет и головной боли в итоге еще больше.
2. Сгенеренный из MXML AS файл не сохраняет последовательнось объявлений переменных из MXML'я - почему так сделали - не понятно, просто еще один из маразмов MXML'я... изза этого mx компоненты вместо того чтобы добавлять детей в дисплей лист родителя создают ChildList из этих детей а потом в рандомальном порядке их добавляют 3. Этот самый список детей не заточен под то, чтобы их могло быть несколько у одного компонента - поэтому родительский компонент, когда обнаружит у себя 1 список и запоздалую попытку что-то в него добавить будет сопротивлятся Вобщем, просто не наследуйтесь от MXML компонентов. Если вы попали в ситуацию, когда вам это по какой-то причине необходимо сделать - просто удалите MXML компоненент от которого собирались наследоваться, а если компонент написан не вами, то можно еще и смело настучать по ушам тому, кто этот компонент вам оставил
__________________
Hell is the possibility of sanity |
|
|||||
Регистрация: Sep 2005
Сообщений: 194
|
мдааа.... грустно ведь жить без наследования (((
а как быть если я хочу что бы некий функционал был у разных класов ((( дублировать код?
__________________
нормально делай - нормально будет |
|
|||||
Modus ponens
|
А кто вас заставляет наследоваться от MXMLя? Наследуйтесь от AS класса... MXML не задуман для того, чтобы от него можно было наследоваться. Технически возможно - но это скорее артефакт, просто потому что нельзя класс как final объявить.
__________________
Hell is the possibility of sanity |
|
|||||
Регистрация: Jun 2009
Адрес: Нерезиновая
Сообщений: 23
|
MXML задуман только для одного - по резкому набросать заказчику макет, с тем, чтобы было о чем говорить. Нормальное приложение на mxml? Бяка. Даже если это чудовище и будет работать не треща по швам, то кто его будет поддерживать? А про расширяемость и унификацию я вообще молчу.
|
|
|||||
DCH:
Писать всё на AS во Flex-е - паранойя. Есть то, что на mxml гораздо удобнее и быстрее осуществить, нежели на AS. Что-то правильнее делать на AS. Но переходить из крайности в крайность - ошибочно, с моей точки зрения.
__________________
2+2=5 |
|
|||||
Регистрация: Jun 2009
Адрес: Нерезиновая
Сообщений: 23
|
Ну, скажем статическую надпись, и вьювстэки может, действительно удобнее сделать на MXML. Но все остальное - увольте. Кто-то может иметь другие идеи по этому поводу, но когда дело доходит до глобальных изменений, повторного использования, переопределений и других прелестей ооп - MXML'ем делать нечего. Да и к as3 генерируемому я с предубеждением отношусь.
|
Часовой пояс GMT +4, время: 03:55. |
|
« Предыдущая тема | Следующая тема » |
|
|