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 [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
-~----------~----~----~----~------~----~------~--~---