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

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

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

Регистрация: Aug 2003
Адрес: Moscow
Сообщений: 113
Отправить сообщение для Stop Black PR! с помощью ICQ
По умолчанию Отлов событий от RelayResponder в AS2

Имеется вот такой код, вызывающий функцию методом Flash Remoting
По нажатию на кнопку инициализируется сервис, в качестве объекта, отлавливающий события используется текущий (точнее родитель для кнопки), а функции удачного и неудачного вызова расположены непосредственно в текущем объекте.

Во временной шкале это всё работает. Если переместить в класс, то есть в AS2, то работать напрочь отказывается. Точнее, сервис стартует, возвращает нужное число и это видно с помощью дебагера, а сами функции не вызываются. Все варианты расположения этих функций уже перепробовал и с различными объектами вместо "this._parent" проверял.
Самый тупой способ: назначить объектом _root и поместить туда эти функции не работает. Функции не вызываются. Аналогичную проблему описали здесь http://www.flash-db.com/Board/index.php?topic=11206.0 и ответ найти не удалось.

Возможно кто то наблюдал подобное в другом контексте, когда не находился объект "отлавливающий" события. Поделитесь опытом, как это решать.

Код:
function getNewId(msg: ResultEvent){
	mx.remoting.debug.NetDebug.trace({level:"Debug", message:"onEchoData" });
	playerId = Number(msg.result);
	show.text = msg.result
	
}
function onEchoFault(rs: FaultEvent ){
	mx.remoting.debug.NetDebug.trace({level:"None", message:"There was a problem: " + fault.fault.faultstring });
}

newPlayer.onPress = function(){
   var pc:PendingCall = myService.newPlayerAMF();
   pc.responder = new RelayResponder(this._parent, "getNewId", "onEchoFault" );
}

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

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

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


 


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


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