2011-06-14 61 views
0

我有个问题让我发疯。我有一个DIRECTORY_LISTING事件,用目录中的文件执行。这个代码是一个类的方法,它只返回一个包含这些信息的数组(代码如上)。如何在DocumentClass中调用并接收此值的方法上添加此数组的返回值?从事件返回数组AS3

//Lista arquivos 
public function listaArquivos(diretorio:File, nome_arquivo:String, 
           lista_molduras:Array, index:int):Array { 
    //Tenta fazer tudo isso 
    try{ 
     //Seta o diretoório de molduras 
     var directory = diretorio; 
     directory.getDirectoryListingAsync(); 
     directory.addEventListener(FileListEvent.DIRECTORY_LISTING,listaHandler); 

     //Percorre arquivos 
     function listaHandler(evento):void { 
      //Contador 
      var i:int = 0; 
      //Conteúdo 
      var contents = evento.files; 
      for (i = 0; i < contents.length; i++) { 
       var nome:String = contents[i].name; 
       var nome_array:Array = new Array(); 
       nome_array = nome.split("_"); 
       //Formata para ordenar 
       arquivos_animacao.push ({nome:contents[i].name, 
        tamanho:contents[i].size, ordem:nome_array[0]}); 
      } 
      //Ordena para a ordem de númeração 
      arquivos_animacao.sortOn("ordem", Array.NUMERIC); 
      lista_molduras[index] = arquivos_animacao; 
     } 
    } catch(erro:ReferenceError) { 
    } 
    return lista_molduras; 
} 
+0

你的意思是说你想分派一个附有数组的事件吗?如果是这样,我可以提供一些示例代码和解释如何做到这一点。 – Marty 2011-06-14 23:44:07

回答

0

var arListaArquivos:Array = listaArquivos();

+0

对不起2smacks,但我alredy做到这一点接收的价值,并始终为空,因为我有事件(listaHandler),这不会返回值。如果我从Document Class中获得peropertie,也总是为null,因为listaHandler还没有完成。 – Marcos 2011-06-14 23:34:39