SAMUEL , veja essa palestra do Mario junior. sobre Messaging http://www.flexmania.com.br/gravacoes.php [ Mario Junior ]Aplicacoes Colaborativas, Rapidas e Facil com Java/Flex usando BlazeDS Messaging APIhttp://experts.na3.acrobat.com/p64913899/
Lembrando que o FLEX não é sincronizado como DELPHI e JAVA (Matisse/Swing). Existe o enviar - processar - receber. bruno bg Em 29 de abril de 2010 15:32, Samuel Soares <[email protected]>escreveu: > 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 [email protected] > Para sair da lista, envie um email em branco para > [email protected] > Mais opções estão disponíveis em http://groups.google.com/group/flexdev > -- Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para [email protected] Para sair da lista, envie um email em branco para [email protected] Mais opções estão disponíveis em http://groups.google.com/group/flexdev
