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

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

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

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
По умолчанию Идентичен ли код

Вариант раз:
Код AS3:
			var refferer:String = super.stage.loaderInfo.parameters.referrer;
			if (refferer && refferer.indexOf("inline") >= 0) {
				log("Screen refferer");
				super.addChild(new WallReffererImage());
			}
			else {
				var _baseController:BaseController = new BaseController(this);
			}
Вариант два:
Код AS3:
			var refferer:String = super.stage.loaderInfo.parameters.referrer;
			if (refferer) 
				if (refferer.indexOf("inline") >= 0) 
				{
					log("Screen refferer");
					super.addChild(new WallReffererImage());
				}
				else 
				{
					var _baseController:BaseController = new BaseController(this);
				}
			else
				_baseController = new BaseController(this);
В каких-то версиях Release FP первый вариант кода давал RTE (или что-то ещё, но BaseController не создавался), второй отрабатывал как надо.
Мы спорим, идентичен ли код чтобы локализовать проблему — самый вероятный участок здесь.

Но я... не вижу разницы.

Старый 29.01.2011, 18:59
Flashrunner вне форума Посмотреть профиль Отправить личное сообщение для Flashrunner Найти все сообщения от Flashrunner
  № 2  
Ответить с цитированием
Flashrunner

Регистрация: Sep 2010
Сообщений: 47
В первом случае строка refferer.indexOf("inline") >= 0 может выдать ошибку обращения к несуществующему объекту, во втором случае это исключено. Хотя я не уверен будет ли обращение к refferer после невыполнения первой части условия (до &&)

Старый 29.01.2011, 19:19
mayakwd вне форума Посмотреть профиль Отправить личное сообщение для mayakwd Посетить домашнюю страницу mayakwd Найти все сообщения от mayakwd
  № 3  
Ответить с цитированием
mayakwd
 
Аватар для mayakwd

Регистрация: Jul 2008
Адрес: t:2, x: 0.76
Сообщений: 553
Отправить сообщение для mayakwd с помощью ICQ Отправить сообщение для mayakwd с помощью Skype™
Цитата:
Сообщение от Flashrunner Посмотреть сообщение
В первом случае строка refferer.indexOf("inline") >= 0 может выдать ошибку обращения к несуществующему объекту, во втором случае это исключено. Хотя я не уверен будет ли обращение к refferer после невыполнения первой части условия (до &&)
не может, во as используется сокращенная логика если первое условие уже == true, то второе условие не проверяется.

по теме: вряд ли проблема в этом участке кода.
__________________
Блог, Twitter
Брюзга.

Старый 29.01.2011, 19:27
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 4  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
У 10-ых пользователей ошибка исчезла заменой только этого куска кода...

Старый 29.01.2011, 19:28
  № 5  
Ответить с цитированием
Xero201
Guest

Сообщений: n/a
в первом случае _baseController создается только при выполнении обоих условий
во-втором, достаточно refferer

Старый 29.01.2011, 19:29
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 6  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,600
Записей в блоге: 17
Цитата:
в первом случае _baseController создается только при выполнении обоих условий
Вообще-то при невыполнении хотя бы одного.

Старый 29.01.2011, 19:39
andrew911 вне форума Посмотреть профиль Отправить личное сообщение для andrew911 Найти все сообщения от andrew911
  № 7  
Ответить с цитированием
andrew911

Регистрация: Mar 2007
Сообщений: 545
А почему после второго else нет var?
Может в нем и была проблема?

Цитата:
_baseController = new BaseController(this);
Код AS3:
     var _baseController:BaseController = new BaseController(this);
}
else
     _baseController = new BaseController(this);


Последний раз редактировалось andrew911; 29.01.2011 в 19:41.
Старый 29.01.2011, 19:42
  № 8  
Ответить с цитированием
Xero201
Guest

Сообщений: n/a
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
Вообще-то при невыполнении хотя бы одного.
разве && = "хотя бы одного",
а во-втором вообще в любом случае, только объявлен _baseController как-то странно - после выполнения if (refferer), хотя потом используется даже если этого не произошло

Старый 29.01.2011, 19:44
andrew911 вне форума Посмотреть профиль Отправить личное сообщение для andrew911 Найти все сообщения от andrew911
  № 9  
Ответить с цитированием
andrew911

Регистрация: Mar 2007
Сообщений: 545
Цитата:
Сообщение от Xero201 Посмотреть сообщение
разве && = "хотя бы одного",
а во-втором вообще в любом случае, только объявлен _baseController как-то странно - после выполнения if (refferer), хотя потом используется даже если этого не произошло
Да, если первое условие false, то дальше проверка уже не идет.

Старый 29.01.2011, 19:47
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 10  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
var refferer:String = super.stage.loaderInfo.parameters.referrer;

Это просто опечатка в форуме?
__________________
Поймай яблоко 2!

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

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

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


 


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


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