Bruno,

Não dá pra implementar uma chamada síncrona como vc quer se o
resultado a retornar é assíncrono, isto é, vem de um chamada externa a
um banco de dados.

Uma alternativa é usar um mecanismo de "callback", mais ou menos desta
maneira:

- tua função de consulta tomaria além do argumentos normais, um
argumento extra indicando uma função tua (função de callback)
- no teu singleton, vc verifica se tem que fazer uma chamada externa,
se não, chama o 'callback' imediatamente com os argumentos necessários
- caso tenha que atualizar a informação a partir do banco de dados, vc
faz a chamada necessária e no resultEvent, atualiza teus dados e aí
sim chama o 'callback'

No lado consumidor, vc faz a chamada à tua função estática passando o
'callback' (que pode inclusive estar inline), ex:
     foobar(arg1,arg2,arg3...,function (r1,r2,r3,,,):void {... lida
com os dados retornados...});


hth
julio

On 2 nov, 12:35, Bruno Carneiro <guimaraescarne...@gmail.com> wrote:
> O que eu quero é o seguinte:
>
> Na minha aplicação tenho vários componentes, em telas diferentes, em
> níveis diferentes... que compartilham o mesmo conjunto de dados.
>
> Por exemplo, lista de bancos, existem vários componentes que lidam com
> a mesma lista de bancos.
>
> Então, o que eu queria:
>
> Pensei em criar uma classe estática que tivesse nela uma propriedade,
> que é o arraycollection com os bancos.
>
> Nessa mesma classe eu tenho duas propriedades do tipo date, lastUpdt e
> lastGet.
>
> lastUpdt. Toda vez que no meu sistema eu modificar a lista de bancos
> ( ou seja, gravar, excluir ou editar um banco no banco de dados ) eu
> iria gravar o memento dessa alteração no lastUpdt
>
> lastGet. Ia guardar aqui o momento em que e fiz a ultima busca
> ( select ) no banco de dados dos meus bancos.
>
> Então, como eu iria usar. Toda vez que fosse utilizar a lista de
> bancos, eu iria pegar dessa classe estática. Se houvesse a minha lista
> estivese destualizada ( eu saberia isso comparando lastGet e
> lastUpdt ) eu iria atualizar antes de usar.
>
> Como eu poderia implementar algo que fosse equivalente a 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