17Июн/092
Очередной глюк флеша
private function onResponce(event:Event):void
{
try
{
var xml:XML = new XML(event.target.data);
}
catch (e:Error) { }
trace(xml.toXMLString());
// выводит
// <responce action="auth" status="success" msg=""/>
trace(xml.@status.toString() == "success"); // <<< выводит true
var success:Boolean = (xml.@status.toString() == "success");
trace(success); // <<< выводит false, О_о зашибись! ((
}
К формату данных это конечно отношения не должно иметь. Тогда что же это ?
Update:
Проблема решилась выносом объявления переменной xml за пределы блока try...catch
var xml:XML;
try
{
xml = new XML(event.target.data);
}
catch (e:Error) { }
Комментарии (2)
Пинги (0)
(подписаться на новые комментарии в этой ветке)
Нет обратных ссылок на эту запись.
Июль 12th, 2009 - 17:24
Ошибка плеера тупейшая, но с точки зрения архитектуры, надо было сразу выносить за пределы try..catch, иначе был бы еще и шанс словить ошибку из-за несуществующей переменной.
Июль 12th, 2009 - 17:28
Согласен — надо выносить.