2011-12-21 9 views
0

flex4 ModuleLoaderとloadmoduleのどこがbytearrayであるのか分かりませんか?FLEX 4-> ModuleLoader - > bytearrayとしてロード

ml.loadModule( "filewithswfcontent.php"、null); // ----- WORKS PERFECTLY

ml.loadModule(null、bytearrayloadedbyurlloader); // ----何も

ここ

私のMXMLファイルがある...

<?xml version="1.0" encoding="utf-8"?> 
    <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
      xmlns:s="library://ns.adobe.com/flex/spark" 
      xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="loadIndex();"> 
    <fx:Script> 
    <![CDATA[ 
     import mx.events.ModuleEvent; 

     private function loadIndex():void{ 
      var urlreq:URLRequest = new URLRequest("index.php"); 
      var urlloader:URLLoader = new URLLoader(); 
      urlloader.addEventListener(Event.COMPLETE, loadIndexResult); 
      urlloader.load(urlreq); 
     } 

     private function loadIndexResult(event:Event):void{ 
      var urlloader:URLLoader = event.target as URLLoader; 
      urlloader.removeEventListener(Event.COMPLETE, loadIndexResult); 
      var barray:ByteArray; 
      barray = (urlloader.data as ByteArray); 

      //ml.loadModule("index.php", null); // ----- WORKS PERFECTLY 
      ml.loadModule(null, barray); // ---- NOTHING 
     } 
    ]]> 
    </fx:Script> 
    <s:ModuleLoader id="ml" width="500" height="500"/> 
</s:Application> 

答えて

1

あなたはURLLoaderのデータ形式

  • を指定する2つの変更

    1. を作るなど、いくつかの文字列を与える必要はありませんloadModuleのurl。

      <?xml version="1.0" encoding="utf-8"?> 
      <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
           xmlns:s="library://ns.adobe.com/flex/spark" 
           xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" creationComplete="loadIndex();"> 
      <fx:Script> 
      <![CDATA[ 
          import mx.events.ModuleEvent; 
      
          private function loadIndex():void{ 
           var urlreq:URLRequest = new URLRequest("index.php"); 
           var urlloader:URLLoader = new URLLoader(); 
           urlloader.dataFormat = URLLoaderDataFormat.BINARY; 
           urlloader.addEventListener(Event.COMPLETE, loadIndexResult); 
           urlloader.load(urlreq); 
          } 
      
          private function loadIndexResult(event:Event):void{ 
           var urlloader:URLLoader = event.target as URLLoader; 
           urlloader.removeEventListener(Event.COMPLETE, loadIndexResult); 
           var barray:ByteArray; 
           barray = (urlloader.data as ByteArray); 
      
           //ml.loadModule("index.php", null); // ----- WORKS PERFECTLY 
           ml.loadModule("MyModule", barray); // ---- WORKS PERFECTLY :) 
          } 
      ]]> 
      </fx:Script> 
      <s:ModuleLoader id="ml" width="500" height="500"/> 
      </s:Application> 
      
  • 関連する問題