Обработчик URLLoader в дочернем фильме не вызывается - PullRequest
0 голосов
/ 16 июля 2010

Привет! Я пишу флекс-приложение с MainMovie, которое загружает флекс-программы (ChildMovie) в зависимости от того, что пользователь выбирает в MainMovie.ниже приведен псевдокод, который поможет мне описать мою проблему с надеждой.

class MainMovie{

  private var request:URLRequest = new URLRequest();

  public function callPHPfile(param:String, loader:URLLoader,   
             handlerFunction:Function):void {

    var parameter:URLVariables=new URLVariables();
    parameter.param = param;
    request.method = URLRequestMethod.POST;
    request.data = parameter;
    request.url = php file on server;
    loader.addEventListener(Event.COMPLETE, handlerFunction);
    loader.load(request);
  }

}

Class ChildMovie {

   private var loaderInChild:URLLoader = new URLLoader();

   public function handlerInChild(e:Event):void {
      process data....
      loaderInChild.removeEventListerner(Event.COMPLETE, handlerInChild);
   }  



   private function buttonClickHandler(e:Event):void{
      Application.application.callPHPfile(param, loaderInChild, handlerInChild)
   }
}

Я вижу, что функция callPHPfile выполняется и получает данные xml из httpFox, проблема в том, что код в функции handlerInChild не выполняется.Что я тут не так делаю?

1 Ответ

1 голос
/ 19 июля 2010

Это была ошибка во время выполнения. Я забыл, что я удалил отладчик Flash Player в Firefox, и он не показывал. в функции handlerInChild есть строка

var data:XML = loader.data;

должно быть

var data:XML = XML(loader.data);

и код будет работать как положено.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...