Показать сообщение отдельно
Старый 01.07.2012, 15:06
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 6  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Там не нужен никакой CustomEvent, это просто лишняя заморочка.
Лучше уж так:
Код AS3:
private var dataXML:Graphic = new Graphic();
 
public function ViewGraphics() 
		{
                                 dataXML.addEventListener(Event.COMPLETE , onLoad);
			dataXML.load('someXML.xml');
 
 
		}
public function onLoad(e:Event)
{
    trace(dataXML.getResult());
}
Ну а в первом класе, соответственно, доставить это событие:
Код AS3:
package coms 
{
	import flash.events.Event;
	import flash.net.URLLoader;
	import flash.net.URLRequest;
	import flash.display.Sprite;
 
 
	public class Graphic extends EventDispatcher
	{
		private var urlLoader:URLLoader;
		private var data:XML;
		public var records:XMLList;
		public var result:Array;
		private var date:String;
		private var time:String;
		private var open:String;
		private var close:String;
		private var high:String;
		private var low:String;
 
 
		public function Graphic() 
		{
			urlLoader = new URLLoader;
			urlLoader.addEventListener(Event.COMPLETE, xmlLoaded);
		}
 
		public function load(path:String):void
		{
			urlLoader.load(new URLRequest(path));
		}
 
		private function xmlLoaded(e:Event):void
		{
			//trace(urlLoader.data);
			data = XML(e.target.data);
			records = data.Records.Record;
			//trace(records.Date[10]);
			candle();
                               dispatchEvent(e); // доставляем событие
		}
 
		private function candle()
		{
 
			date = records.Date;
			time = records.Time;
			open = records.Open;
			close = records.Close;
			high = records.High;
			low = records.Low;
			result = [date, time, open, close, high, low];
 
			//trace(result);
		}
 
		public function getResult():Array
		{
		return result;	
 
		}
 
 
	}
 
}
И, чтобы это работало, первый класс должен расширять EventDispatcher