Показать сообщение отдельно
Старый 07.06.2013, 18:57
n_drey вне форума Посмотреть профиль Отправить личное сообщение для n_drey Найти все сообщения от n_drey
  № 1  
Ответить с цитированием
n_drey
 
Аватар для n_drey

Регистрация: Jan 2009
Сообщений: 25
По умолчанию Вернуть объект из своего класса

Существует класс:
Код AS3:
package visualization {
	import flash.events.Event;
	import flash.net.*;
 
		public class Main {
 
				public function Main(){ // Конструктор
 
					}
 
				public function GetResultPHP(){
						var host:String = "http://xxx";
 
						var variables:URLVariables = new URLVariables("name=Franklin123");
						var myRequest:URLRequest = new URLRequest();
 						myRequest.method = URLRequestMethod.POST;
						myRequest.url = host + "/ascript.php";
   						myRequest.data = variables;
 
   						var loader:URLLoader = new URLLoader();
   						loader.dataFormat = URLLoaderDataFormat.BINARY;
   						//out_txt.text = myData.firstName+' \n' + myData.lastName;
						loader.addEventListener(Event.COMPLETE, completeHandler); 
   						try
   							{	
								loader.load(myRequest); //Посылаем данные 
   							}	
   						catch (error:Error)
   							{
      							trace('Error: answer');
   							}
					}
 
				public function completeHandler(event:Event):void //Эта функци вызывается когда произошёл ответ от сервера. loader.load(myRequest);
				{
					var array:Object = JSON.parse(event.target.data); // преобразовываем JSON в OBJECT
						var lenght:int = 0;
						for each (var i:* in array)
						{
							lenght++
						}
 
						array.lenght = lenght;
						this.resultLoad(array);
 
					}
 
				private function resultLoad(dataSet:Object):Object{ // Метод для возврата результата
						//trace(JSON.stringify(dataSet));
						return dataSet;
					}
 
			}	
	}
Всё работает c сервером от которого прилетает JSON ответ.
Далее в первом кадре своего проекта делаю так:
Код AS3:
import visualization.Main;
var res:Main = new Main();
var objRes:Object = res.GetResultPHP();
trace(objRes);
Но почему то выводиться null (((

Если сделать trace в классе Main() всё всё работает - как из него вернуть данные? Что я забыл сделать?
Спасибо!