Um problema que sempre tenho ao criar as funções no Flex é em saber
como o Flex irá executá-las, pois ao rodar a aplicação, esta me
retorna por diversas vezes objetos nulos que deveriam ser preenchidos
no escopo da função, e só são após o fim da execução desta, e não
posso tratá-lo dentro da função. Vou por um exemplo :

private function setClienteResult(e:ResultEvent):void{
        lstClientes = new ArrayCollection(e.result as Array);
        clienteSelecionado = voCliente(lstClientes.getItemAt(0));
}

private function salvaCliente():void {
        clienteSelecionado.nome = tiNome.text;
        clienteSelecionado.cpf_cnpj = tiCpfCnpj.text;

        remote.setCliente(clienteSelecionado, setClienteResult);

        // aqui irá gerar um erro pq o remote.setCli... não executou ainda o
setClienteResult e o clienteSelecionado não foi preenchido
        tiIndice.text = clienteSelecionado.indice.toString();
}

ai para contornar, acabo colocando isso na função setClienteResult, e
caso queira utilizá-la genericamente para diversos casos, não posso pq
aquele tiIndice sempre irá receber o valor ...

private function setClienteResult(e:ResultEvent):void{
        lstClientes = new ArrayCollection(e.result as Array);
        clienteSelecionado = voCliente(lstClientes.getItemAt(0));
        tiIndice.text = clienteSelecionado.indice.toString();
}

meu remoteObject está assim

public function setCliente(dados:voCliente, result:Function):void{
        var async:AsyncToken = bridge.setCliente(dados);
        async.addResponder(new Responder(result, defaultFaultHandler));
}

meu pensamento é de que o Flex execute uma linha após a outra, mas não
é isso que acontece, parece que ele só isáo executar o remoteObject
após a conclusão da função que o chamou ... isso confunde ...
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Responder a