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

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

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

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
По умолчанию Ошибка при MouseEvent.DOUBLE_CLICK

Совершенно странная ситуация и ошибка никак не трейсится.

Программно создается объект MyTextArea - флексовкий TextArea. Вешаем слушатель:
Код AS3:
var ta:MyTextArea = new MyTextArea();
designArea.addElement(ta);
ta.addEventListener(MouseEvent.DOUBLE_CLICK, dButtonClick);
 
protected function dButtonClick(event:MouseEvent):void
			{
				var ta:MyTextArea = tool.target as MyTextArea;
				ta.updateStyle();
				var obj:Object = new Object();
				obj.uid = ta.name;
				obj.fontSize = ta.fontSize;
				obj.color = ta.colorString;
				obj.colorInt = ta.color;
				obj.fontFamily = ta.fontFamily;
				obj.oldaff = ta.text;
				navigator.pushView(views.FontView, obj);
			}
Tool - это контрол для TextArea. Можно и без него, с помощью event.taget, все равно ошибка.
При первом двойном клике все нормально обрабатывается и views.FontView открывается. Но если кликнуть опять - TypeError: Error #1009: Cannot access a property or method of a null object reference. в строке navigator.pushView(views.FontView, obj);

Ну ладно, пробую создать просто отдельную кнопку по клику вызывающую dButtonClick и теперь все нормально работает сколько угодно раз. Кликаю дважды по MyTextArea - опять ошибка со второго раза.

Старый 04.02.2012, 14:08
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 2  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
А свойство включено?
Код AS3:
doubleClickEnabled = true;
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 04.02.2012, 14:17
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 3  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Оно же по умолчанию включено. Да и было бы выключено, то в первый раз не обрабатывалось. На всякий случай включил - ошибка остается.

Старый 04.02.2012, 14:30
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 4  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Что-то проиисходит значит между 1м и 2м дабл-кликом. Попробуй закомментить различные команды и проследи за кликом, потрэйси. Если проблема ен обнаружится - попробуй собрать минимальный вариант, иллюстрирующий проблему.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

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

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Дабл клик вызывает только одну эту функцию, больше ничего. Я почему именно к дабл клику привязался - ведь клик по кнопке проблем не вызывает.

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

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Значит или по ходу выполнения программы (в обработчике?) что-то происходит, что приводит к такой ошибке. "Само" это не произойдет.
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

Старый 04.02.2012, 16:01
silin вне форума Посмотреть профиль Посетить домашнюю страницу silin Найти все сообщения от silin
  № 7  
Ответить с цитированием
silin
 
Аватар для silin

блогер
Регистрация: Mar 2003
Адрес: Моск. обл.
Сообщений: 5,269
Записей в блоге: 6
а updateStyle это твой (MyTextArea ) или флексовый (TextArea) метод ?
может он выключает doubleClickEnabled текстфилду или кому там,
если флексовый, то может переписать его в MyTextArea с принудительным включением doubleClickEnabled после super.updateStyle()
вообще без минимального примера трудно угадать

Старый 04.02.2012, 22:57
Astraport вне форума Посмотреть профиль Отправить личное сообщение для Astraport Найти все сообщения от Astraport
  № 8  
Ответить с цитированием
Astraport
 
Аватар для Astraport

блогер
Регистрация: Sep 2009
Сообщений: 2,463
Записей в блоге: 2
Цитата:
а updateStyle это твой (MyTextArea ) или флексовый (TextArea) метод ?
Мой (MyTextArea ) и ничего не включает. Я там просто добавляю несколько свойств, чтобы таскать TextArea между вьюхами.
Цитата:
вообще без минимального примера трудно угадать
Минимальный и привел. Полностью приводить нет никакого смысла из-за объема.
Ладно, завтра ещё поковыряюсь, если вопросы будут - отпишусь.

Меня вот просто убивает нормальная работоспособность для обычной кнопки и ошибка в строке где не может быть ошибок navigator.pushView(views.FontView, obj); - тут всего два параметра и оба не могут быть не валидными.

Добавлено через 11 часов 57 минут
Проблема в навигаторе:
Код AS3:
trace (String(navigator.className)); //TypeError: Error #1009: Cannot access a property or method of a null object reference.
Любое обращение к navigator вызывает эту ошибку. Но это же невозможно, приложение ViewNavigatorApplication.


Последний раз редактировалось Astraport; 04.02.2012 в 22:59.
Создать новую тему Ответ Часовой пояс GMT +4, время: 10:42.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

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

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


 


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


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