Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 17.06.2009, 15:12
STILL.05 вне форума Посмотреть профиль Отправить личное сообщение для STILL.05 Найти все сообщения от STILL.05
  № 1  
Ответить с цитированием
STILL.05

Регистрация: 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>
а вот компонент BComp который наследуется от предыдушего
Код:
<?xml version="1.0" encoding="utf-8"?>
<AComp xmlns="*" xmlns:mx="http://www.adobe.com/2006/mxml">
	<mx:Button label="button" x="200" />
</AComp>
если использовать класс BComp то вылетает ошибка:
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.
Старый 17.06.2009, 18:20
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 2  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
1. Абсолютно бессмысленная попытка наследоваться от MXML компонентов - ничего кроме кучи плохопахнущего кода вам не принесет и головной боли в итоге еще больше.
2. Сгенеренный из MXML AS файл не сохраняет последовательнось объявлений переменных из MXML'я - почему так сделали - не понятно, просто еще один из маразмов MXML'я... изза этого mx компоненты вместо того чтобы добавлять детей в дисплей лист родителя создают ChildList из этих детей а потом в рандомальном порядке их добавляют
3. Этот самый список детей не заточен под то, чтобы их могло быть несколько у одного компонента - поэтому родительский компонент, когда обнаружит у себя 1 список и запоздалую попытку что-то в него добавить будет сопротивлятся

Вобщем, просто не наследуйтесь от MXML компонентов. Если вы попали в ситуацию, когда вам это по какой-то причине необходимо сделать - просто удалите MXML компоненент от которого собирались наследоваться, а если компонент написан не вами, то можно еще и смело настучать по ушам тому, кто этот компонент вам оставил
__________________
Hell is the possibility of sanity

Старый 18.06.2009, 16:18
STILL.05 вне форума Посмотреть профиль Отправить личное сообщение для STILL.05 Найти все сообщения от STILL.05
  № 3  
Ответить с цитированием
STILL.05

Регистрация: Sep 2005
Сообщений: 194
мдааа.... грустно ведь жить без наследования (((
а как быть если я хочу что бы некий функционал был у разных класов ((( дублировать код?
__________________
нормально делай - нормально будет

Старый 18.06.2009, 20:29
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 4  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
А кто вас заставляет наследоваться от MXMLя? Наследуйтесь от AS класса... MXML не задуман для того, чтобы от него можно было наследоваться. Технически возможно - но это скорее артефакт, просто потому что нельзя класс как final объявить.
__________________
Hell is the possibility of sanity

Старый 22.06.2009, 23:19
DCH вне форума Посмотреть профиль Отправить личное сообщение для DCH Найти все сообщения от DCH
  № 5  
Ответить с цитированием
DCH
 
Аватар для DCH

Регистрация: Jun 2009
Адрес: Нерезиновая
Сообщений: 23
MXML задуман только для одного - по резкому набросать заказчику макет, с тем, чтобы было о чем говорить. Нормальное приложение на mxml? Бяка. Даже если это чудовище и будет работать не треща по швам, то кто его будет поддерживать? А про расширяемость и унификацию я вообще молчу.

Старый 23.06.2009, 10:03
BeDLiNt вне форума Посмотреть профиль Отправить личное сообщение для BeDLiNt Найти все сообщения от BeDLiNt
  № 6  
Ответить с цитированием
BeDLiNt
 
Аватар для BeDLiNt

Регистрация: Mar 2008
Адрес: Moscow
Сообщений: 311
Отправить сообщение для BeDLiNt с помощью ICQ Отправить сообщение для BeDLiNt с помощью Skype™
DCH:
Писать всё на AS во Flex-е - паранойя. Есть то, что на mxml гораздо удобнее и быстрее осуществить, нежели на AS. Что-то правильнее делать на AS. Но переходить из крайности в крайность - ошибочно, с моей точки зрения.
__________________
2+2=5

Старый 23.06.2009, 13:44
DCH вне форума Посмотреть профиль Отправить личное сообщение для DCH Найти все сообщения от DCH
  № 7  
Ответить с цитированием
DCH
 
Аватар для DCH

Регистрация: Jun 2009
Адрес: Нерезиновая
Сообщений: 23
Ну, скажем статическую надпись, и вьювстэки может, действительно удобнее сделать на MXML. Но все остальное - увольте. Кто-то может иметь другие идеи по этому поводу, но когда дело доходит до глобальных изменений, повторного использования, переопределений и других прелестей ооп - MXML'ем делать нечего. Да и к as3 генерируемому я с предубеждением отношусь.

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:36.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:36.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.