Na verdade eu forcei o uso do IResponder, mas acredito que eu poderia
colocar qualquer objeto para fazer a tarefa (pela forma como estou
implementando, e não pela natureza do IResponder). O que eu faço na verdade
é passar um objeto para o meu LC através do delegate que servirá para
processar a resposta, sendo que este poderia ser um IResponder ou não (o que
eu tenho originalmente - e não implementado por mim - é uma chamada à um
método de uma única classe responsável por tratar as mensagens, ou seja, um
aninhado de if`s).

O processo é mais ou menos assim:

- delegate chama um método do meu - "service" - MessageService (MS) para
executar um determinada operação (MS > a classe que implementei para tratar
as mensagens e fazer a chamada ao LC).
- este método retorna para o delegate uma referência para o LC.
- delegate chama o método addResponder do LC e passa o Responder como
parâmetro, assim o LC fica com uma referência para o IResponder.
- quando uma mensagem for recebida no LC, esta mensagem é passada como
parâmetro no chamada do método result() do IResponder.

A única maneira de saber se uma chamada falhou ou não é através do evento
StatusEvent, que possui uma propriedade "level", que possui três categorias
de mensagem: status, warning e error. É neste ponto que posso verificar se
um send() foi bem sucedido ou não.

Prometo da próxima vez aparecer com uma dúvida mais simples! =D

Abraços,
Anderson Marcondes

On Thu, Feb 19, 2009 at 9:45 PM, Gabriela Trindade Perry <
gabrielape...@hotmail.com> wrote:

>
> Bem... Complicado mesmo...
> No ServiceLocator nao tem como usar LC... E nao fica legal extender
> (porque e Singleton). Se mexeres na ServiceLocator para colocar os
> metodos para o teu LC, vais ter que usar o teu cairngorm compilado...
> O que e esquisito...
>
> Como ficam os metodos de "sucesso e falha" (result e fault; os
> IResponder)? Com LC podes verificar isso?
> >
>

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