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

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

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

Регистрация: Jun 2011
Сообщений: 12
По умолчанию глюк компилятора

Ни у кого не возникало такой ситуации, что функция начинается вызываться непрерывно, вместо того, чтобы вызваться только один раз? При этом функция setInterval не используется. Может глюк компилятора? Компилировал в CS5 и CS5.5

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

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

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

Регистрация: May 2010
Сообщений: 543
Что-то мне подсказывает, что товарищ TanaTiX, прав.
Вы код свой приложите, пофиксим глюк вашего компилятора
__________________
Вы грабите бедных людей. Парень со свирелью накажет вас. Хонгильдон (с)

Старый 30.07.2011, 21:46
nowhereman86 вне форума Посмотреть профиль Отправить личное сообщение для nowhereman86 Найти все сообщения от nowhereman86
  № 4  
Ответить с цитированием
nowhereman86

Регистрация: Jun 2011
Сообщений: 12
Код AS1/AS2:
var run_getRunStatusForGuest:int;
 
		private function getRunStatusForGuest():void
		{
			debug_in_play.text ="getRunStatusForGuest";
 
			var v:URLVariables = new URLVariables();
 
			var res:String = "func=getRunStatusForGuest&id_table="+String(my_table_id);
			var s:String = g.em.Crypt(res);
 
			v['id'] = g.em.GetId();
			v['param'] = s;
 
			var ldr:URLLoader = new URLLoader();
			var request:URLRequest = new URLRequest(req);
			request.method = URLRequestMethod.POST;
			request.data = v;
 
			ldr.addEventListener(Event.COMPLETE,onComplete_getRunStatusForGuest);
			ldr.load(request);
		}
 
		function onComplete_getRunStatusForGuest(event:Event):void 
		{   
			var loader:URLLoader=event.target as URLLoader;
			var json_str=String(loader.data);
 
			json_str = g.em.Decrypt(json_str);
 
			debug_in_play.text = json_str;
			var json_data:Array=JSON.decode(json_str);
 
			if(int(json_data[0].access)==1)
			{
				if(int(json_data[0].mode)==2)//если второй режим 
				{
					if(int(json_data[0].run)==2)
					{
						clearInterval(run_getRunStatusForGuest);//очищаем цикл
					}
 
				}
			}
			else
			{
 
			}
		}
вызывающий код этой функции
Код AS3:
run_getRunStatusForGuest = setInterval(getRunStatusForGuest,2500);
как только получаем в json-строке параметр run=2, функция должна сброситься, однако этого не происходит и она продолжает крутиться


Последний раз редактировалось nowhereman86; 30.07.2011 в 21:51.
Старый 30.07.2011, 22:15
TanaTiX вне форума Посмотреть профиль Отправить личное сообщение для TanaTiX Найти все сообщения от TanaTiX
  № 5  
Ответить с цитированием
TanaTiX
 
Аватар для TanaTiX

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

Старый 30.07.2011, 22:17
nowhereman86 вне форума Посмотреть профиль Отправить личное сообщение для nowhereman86 Найти все сообщения от nowhereman86
  № 6  
Ответить с цитированием
nowhereman86

Регистрация: Jun 2011
Сообщений: 12
Да, эта ветка возникает, но clearInterval не срабатывает и функция продолжает крутиться

Добавлено через 1 минуту
Не знаете можно ли как-нибудь просмотреть список всех функций, которые запущены с помощью функции setInterval?

Старый 30.07.2011, 22:57
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 7  
Ответить с цитированием
goodguy
Banned

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Можно вообще отказаться от setInterval

Старый 30.07.2011, 23:00
nowhereman86 вне форума Посмотреть профиль Отправить личное сообщение для nowhereman86 Найти все сообщения от nowhereman86
  № 8  
Ответить с цитированием
nowhereman86

Регистрация: Jun 2011
Сообщений: 12
и запускать таймером?

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

блогер
Регистрация: Feb 2008
Сообщений: 1,453
Записей в блоге: 4
Код AS3:
if(int(json_data[0].run)==2)
					{
						trace("я запускаю clearInterval");
						clearInterval(run_getRunStatusForGuest);//очищаем цикл
					}
trace в таком виде сработает?
__________________
Ну все, теперь Забава м-о-я.
Гы-гы, а корабль мой!

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

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
А откуда происходит "запуск"? Может всетаки дело в области видимости переменной run_getRunStatusForGuest? То есть я думаю что происходит setInterval(), потом создается новая переменная, которую собственно и видит clearInterval(), но которая уже никак не идентифицирует запущенный ранее таймер.

Добавлено через 3 минуты
Код AS3:
if(int(json_data[0].run)==2)
{
	trace("я запускаю clearInterval", run_getRunStatusForGuest.toString() );
	clearInterval(run_getRunStatusForGuest);//очищаем цикл
}
__________________
Reality.getBounds(this);

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

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

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


 


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


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