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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 06.05.2007, 04:29
Chas вне форума Посмотреть профиль Отправить личное сообщение для Chas Посетить домашнюю страницу Chas Найти все сообщения от Chas
  № 1  
Ответить с цитированием
Chas
[+1 14.08.08]
[+1 20.08.08]
 
Аватар для Chas

Регистрация: Sep 2002
Адрес: simferopol
Сообщений: 981
Отправить сообщение для Chas с помощью ICQ
По умолчанию onInterval и область видимости

что хочу сделать:
класс передает и загружает xml через пхп-коннектор. пошли глюки, когда ответ на первый запрос еще не вернулся а пришел ответ на второй запрос и событие произходит преждевременно (запросы посылаются хаотически в ответ на события).
решил поставить запросы в очередь, так чтобы если ответ на предыдущий запрос не вернулся, следующий из очереди не выполнялся.
код такой(много поскипано):
Код:
class game.Transmitter {
	var connectorPath:String; //путь к коннектору
	var orders:Array; //массив приказов к передаче
	var isTransmit:Boolean; //флаг определяющий, идет посылка в настоящий момент или нет
передача или нет
	var loader:game.Parser;
	function Transmitter (path){ //конструктор получает путь к коннектору
                      ...
		setInterval (this.onInterval,100);
		isTransmit=false;
		orders=new Array();
                      ...
	}
           ...
	function onInterval (){ //событие, произходящее по таймеру
		_root.debug ("on interval. isTransmit:"+isTransmit);
		if (!isTransmit && orders.length>0) {
			isTransmit=true;
			var xml=orders.pop();
			xml.sendAndLoad(connectorPath,loader);
		}
	}
}
а в трейсе вижу, что isTransmit - undefined, т.е.,по всей видимости, обалсть видимости вызова функции setInterval вышла из-под о.в. класса.
а как делают в таких случаях?
__________________
~
Never trouble trouble till trouble troubles you!

Старый 06.05.2007, 04:37
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 2  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,884
Записей в блоге: 7
Код:
setInterval (this, "onInterval", 100);
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 06.05.2007, 05:11
Chas вне форума Посмотреть профиль Отправить личное сообщение для Chas Посетить домашнюю страницу Chas Найти все сообщения от Chas
  № 3  
Ответить с цитированием
Chas
[+1 14.08.08]
[+1 20.08.08]
 
Аватар для Chas

Регистрация: Sep 2002
Адрес: simferopol
Сообщений: 981
Отправить сообщение для Chas с помощью ICQ
торжественно признаюсь в том, что я чайник, неумеющий читать хелп.
спасибо за быстрый ответ.
__________________
~
Never trouble trouble till trouble troubles you!

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

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

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


 


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


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