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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.12.2008, 01:53
fljot вне форума Посмотреть профиль Отправить личное сообщение для fljot Найти все сообщения от fljot
  № 1  
Ответить с цитированием
fljot

блогер
Регистрация: Jul 2007
Сообщений: 940
Записей в блоге: 3
По умолчанию именование событий: соотв. имени константы и её значения + уникальность значения

самое распространённое именование:
Код AS3:
public static const MY_EVENT_TYPE:String = "myEventType";
возникает проблема: могут быть несколько событий, с одинаковым именем (типом). например в одном пакете класс ContentEvent с таким типом
Код AS3:
public static const HIDE:String = "hide";
и какое-нибудь другое событие. пусть флексовое событие FlexEvent.HIDE.
если оба всплывают, и где-то уровнем выше есть подписка на событие типа "hide", то поймаются оба, причём ловля одного из них вызовет ошибку.

решение прописывать полный путь пакета и класса решило бы эту проблему
Код AS3:
public static const HIDE:String = "my.package.ContentEvent.hide";
но при подписке через mxml это должно было бы выглядеть так:
Код:
<someComponent my.package.ContentEvent.hide="eventHandler(event)" />
, что не только страшно и долго, но и синтаксически некомпилируемо)


как грамотно обеспечивается уникальность имени-типа и компактная запись?

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Возможно в таком случае стоит подписывать на события не из МХМЛя? Вот, полезно знать, применительно к тому, как Флекс интерпретирует someEvetnt="eventHandler(event)"
http://the33cows.com/actionscript-30/2008/01/23/33/


ЗЫ. Еще: скомпилируй с -keep ключем, посмотришь, что получилось в АС коде (эта опция сохраняет АС файлы сгенеренные из МХМЛ). Ну и еще можно запостить это в качестве пожелания сюда:
https://bugs.adobe.com/flex/

ЗЫЫ. Еще, предположение, а что будет, если кастомный евент поместить в отдельный неймспейс? Или, то же самое, но по отношению к слушателю?
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 16.12.2008 в 10:35.
Старый 16.12.2008, 13:47
fljot вне форума Посмотреть профиль Отправить личное сообщение для fljot Найти все сообщения от fljot
  № 3  
Ответить с цитированием
fljot

блогер
Регистрация: Jul 2007
Сообщений: 940
Записей в блоге: 3
да, коров читаю. и вобщем это понятно, что у адоби эта связка ИМЯ_СОБЫТИЯ = имяСобытия не просто так рекомендована.
по поводу уникальости - неймспейсы тут не причём ведь, это же всё только о событийной модели речь. есть два события с одним типом - слушатель будет сконфужен.

так что, решение - давать максимум короткие уникальные имена? ContentEvent.CONTENT_HIDE например?

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

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Я это говорил к тому, чтобы кастомный евент был с имененм типа:
<someComponent my_namespace:hide="eventHandler(event)" />

EDIT: Только я это не пробовал, но, технически, может такое и возможно
__________________
Hell is the possibility of sanity

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

Теги
event , events , naming
Опции темы
Опции просмотра

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

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


 


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


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