Bom dia, estou montando um sistema que tem uma área de upload de arquivos. Estou utilizando o FileReferenceList para fazer o upload de varias arquivos simultâneos. O problema é que antes de realizar o upload, tenho que verificar se os arquivos estão "autorizados" para upload. Para isto tenho uma tabela no banco de dados com todas as carateristicas, como extensao, tamanho, etc, retorna TRUE ou FALSE. E quando faço a consulta ao banco de dados não consigo "pegar" o resultado da validação. O loop passa pelos arquivos selecionados continua até o fim. O resultado é tratado em uma função do result da consulta de validacao, quer dizer quando chamo a validacao em uma funcao, o retorno vem em outra.
Estou utilizando remoteobject. Faço a consulta e "pego" o seu resultado com uma funcao result. Não sei se deu para entender, em outras linguagems de programação a função faz a consulta no banco de dados, faço a análise e retorno o resultado que precisar, só depois que o loop continua. No flex não. Tenho uma função ou linha que faz a consulta banco de daods e tenho outra função que só trata o resultado, enquanto isso o sistema continua sua execução. O problema não é no upload, mas como tratar estas funções. COMO FAZER PARA TER ESTE RETORNO DA FUNÇÃO IMEDIATAMENTE, AO REQUISITÁ- LA? EU PRECISO DO RESULTADO DA CONSULTA DO BANCO DE DADOS NO MOMENTO, SEM PRECISAR DE FICAR PASSANDO POR RESULT, FAULT, TENTAR ALGUMA ARTIMANHA, FAZER VARIAS FUNCOES, ETC.. ... private function Validar(tipo:String):void { roArquivos.getOperation('VerificaTipoDeArquivo').send(tipo); } private function Upload_onSelect(event:Event):void { lista = FileReferenceList(event.target); arrayArquivos = lista.fileList var i:int = 0; // Percorrea a lista de arquivos selecionados for (i=0; i < arrayArquivos.length; i++) { arquivo = FileReference(arrayArquivos[i]); contador = i; // // É AQUI // if (Validar(arquivo.type) == true) txtArquivo.text = txtArquivo.text + arquivo.name + "; "; } } // Trata o result da validacao private function onResultValidacao(event:ResultEvent):void { return event.result.toString(); } ... Obrigado! -- Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com Para sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev