0

こんにちは、ユーザーが 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 関数が実行され、httpFox から xml データを受信して​​いることがわかります。問題は、handlerInChild 関数のコードが実行されていないことです。ここで何が間違っていますか?

4

1 に答える 1

1

ランタイムエラーでした。FirefoxでFlashPlayerデバッガーをアンインストールしたのを忘れましたが、表示されませんでした。handlerInChild関数には、次の行があります

var data:XML = loader.data;

そのはず

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

コードは期待どおりに実行されます。

于 2010-07-19T08:03:08.830 に答える