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

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

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

Регистрация: Sep 2007
Сообщений: 146
По умолчанию Проблемы с URLLoader или URLRequest

Подскажите, возникает странная ситуация.
Код:
private function btnCreateReportClick():void{
	try{
		var xml:XML = this.getXML();
		var act:String = "?action=createReport&reportData="+xml.toString()+"&user=TESTER&rand="+Math.random();
		urlReq = new URLRequest(XML_URL+act);
		myLoader = new URLLoader(urlReq);				
		myLoader.addEventListener(Event.COMPLETE,btnCreateReportClickResult);
		myLoader.addEventListener(IOErrorEvent.IO_ERROR,xmlLoadedFault);
		myLoader.load(urlReq);	
	}catch(err:Error){
		Alert.show("<catch>"+err.message);
	}finally{
		Alert.show("<finally>");
		}
	}
		
private function btnCreateReportClickResult(evtObj:Event):void{
	myXML = XML(myLoader.data);
	Alert.show("InstanceId="+myXML.@instanceId);
}
private function xmlLoadedFault(evt:FaultEvent):void{
	Alert.show(evt.fault.faultString);
}
На одном компьютере все нормально отрабатывается, а на другом попадаем в главную функцию btnCreateReportClick, получаем Алерт <finally> и все, ни в одну из двух функций не попадаем (ни в btnCreateReportClickResult, ни в xmlLoadedFault). Из-за чего это может происходить?

Старый 08.11.2007, 18:44
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Со скобочками ничего не напутано?

Старый 08.11.2007, 18:46
Bruiser вне форума Посмотреть профиль Отправить личное сообщение для Bruiser Найти все сообщения от Bruiser
  № 3  
Ответить с цитированием
Bruiser

Регистрация: Sep 2007
Сообщений: 146
С какими скобками?
Еще раз подчеркну, на одном компьютере все отрабатывается на ура, а на втором такое ощущение, что листенеров вообще нету...

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

Регистрация: Nov 2006
Сообщений: 134
Сформулируй нормально вопрос. Сначала ты пишешь, что отрабатывает finaly, потом - что вообще ничего не срабатывает.

Совет: не используй try .. catch бездумно.
Вот сейчас ты его поставил и не можешь определить на каком месте у тебя отлетает. Эту конструкцию не стоит пихать в любое место, где код может вызвать ошибку.

К примеру, в твоем коде exception может быть и на первой строке и на второй... но ты не узнаешь на какой именно и никто тебе не ответит, пока код в dubug-режиме не запустит.
__________________
http://creationcomplete.com

Старый 08.11.2007, 20:00
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 5  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от Bruiser
С какими скобками?
С фигурными, в коде.

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

Регистрация: Nov 2005
Сообщений: 1,058
Цитата:
Сообщение от librio
Совет: не используй try .. catch бездумно.
Вот сейчас ты его поставил и не можешь определить на каком месте у тебя отлетает. Эту конструкцию не стоит пихать в любое место, где код может вызвать ошибку.

К примеру, в твоем коде exception может быть и на первой строке и на второй... но ты не узнаешь на какой именно и никто тебе не ответит, пока код в dubug-режиме не запустит.
Отсутствие try ... catch никак не избавляет от проблемы незнания на какой строчке происходит ошибка.

Старый 09.11.2007, 02:42
Bruiser вне форума Посмотреть профиль Отправить личное сообщение для Bruiser Найти все сообщения от Bruiser
  № 7  
Ответить с цитированием
Bruiser

Регистрация: Sep 2007
Сообщений: 146
try и catch я уже потом поставил, потому что не знал, что делать.
Я не могу в дебагерском режиме, потому у меня на компьютере нормально отрабатывается, а другого человека ничего не происходит, я в код потыкал Алерты и сделал выводы, что ни в одну из функций листенера он не заходит...

Старый 09.11.2007, 09:02
librio вне форума Посмотреть профиль Отправить личное сообщение для librio Найти все сообщения от librio
  № 8  
Ответить с цитированием
librio

Регистрация: Nov 2006
Сообщений: 134
Цитата:
Сообщение от †‡Paladin‡†
Отсутствие try ... catch никак не избавляет от проблемы незнания на какой строчке происходит ошибка.
Да ну? Используя такую конструкцию на большой участок кода ты никогда не сможешь без дебага (с breakpoints) точно сказать на какой строчке у тебя произошел exception.
Отсутствие такой конструкции сразу приведет к сообщению с описанием ошибки даже в обычном режиме (Flex Builder). А в дебаге еще и значение всех переменных сразу увидишь.

Резюме: try ... catch надо использовать только там, где это действительно необходимо, а не там, где надо прикрыть "через раз работающий" код.

И не надо Alert и trace ставить в код - это Вам не поможет. Этот подход оставим тем, кто продолжает использовать AS2 из-под Flash IDE.

Смотрите лучше в debug на текущее состояние и все станет понятно!
__________________
http://creationcomplete.com

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

Регистрация: Sep 2007
Сообщений: 146
Если честно, то вопрос был не про try catch... И объясняю еще раз, у меня на компе все работает нормально, а на другом компе - возникает та ситуация, которую уже два раза описывал...


Последний раз редактировалось Bruiser; 09.11.2007 в 10:27.
Старый 09.11.2007, 11:09
Bruiser вне форума Посмотреть профиль Отправить личное сообщение для Bruiser Найти все сообщения от Bruiser
  № 10  
Ответить с цитированием
Bruiser

Регистрация: Sep 2007
Сообщений: 146
Нашел тенденцию - у тех, у кого стоит IE6 или Мозила - нормально, у кого IE7 вот эта вот вещь отрабатывается через раз. Что может быть?

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

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

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


 


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


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