Orkut Gmail Agenda Docs Web mais »
Grupos visitados recentemente | Ajuda | Acessar
Página inicial dos Grupos do Google
Função quer retorna o resultado de uma chamada remota
Há um número excessivo de tópicos que aparecem em primeiro plano neste grupo. Para fazer com que este tópico apareça primeiro, elimine essa opção de um outro tópico.
Erro ao processar a solicitação. Tente novamente.
sinalizar
  13 mensagens - Recolher todas  -  Traduzir tudo para Traduzido (ver todos os originais)
O grupo no qual você está postando é um grupo da Usenet. As mensagens postadas neste grupo farão com que o seu e-mail fique visível para qualquer pessoa na internet.
Sua resposta não foi enviada.
Postagem publicada
 
De:
Para:
Cc:
Encaminhar para
Adicionar Cc | Adicionar Encaminhar para | Editar Assunto
Assunto:
Validação:
Com o objetivo de verificação, digite os caracteres que você vê na figura abaixo ou os números que ouvir ao clicar no ícone de acessibilidade. Ouça e digite os números que ouvir
 
Bruno Carneiro  
Ver perfil   Traduzir para Traduzido (ver original)
 Mais opções 2 nov, 10:42
De: Bruno Carneiro <guimaraescarne...@gmail.com>
Data: Mon, 2 Nov 2009 04:42:10 -0800 (PST)
Local: Seg 2 nov 2009 10:42
Assunto: Função quer retorna o resultado de uma chamada remota
public static function getInstance():void{
     var tipoContaSrdObj = SharedObject.getLocal("tipoContaSrdObj");

     if ( lastGet == null ||    ( lastUpdt != null && lastUpdt >=
lastGet) ) {
     var remote:RemoteObject = new RemoteObject();
     remote.destination = "zend";
     remote.source = "FinanceiroService";
     remote.pegarTC.addEventListener("result", pegarTCResultHandler);
     remote.addEventListener("fault", faultHandler);
     remote.pegarTC(deptComboBox.selectedItem.data);

     /// AQUI EU QUERIA ATUALIAR tipoConta_dp e depois retornálo. Mas
a chamada remota desvia o fluxo para a função pegarTcResultHandler

     } else {
           return tipoConta_dp;
     }

}

Como eu poderia fazer está função retornar o resultado do meu
remote.pegarTC ????????

    Responder    Responder ao autor    Encaminhar  
É necessário Acessar antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Gabriela Trindade Perry  
Ver perfil   Traduzir para Traduzido (ver original)
 Mais opções 2 nov, 11:12
De: Gabriela Trindade Perry <gabrielape...@hotmail.com>
Data: Mon, 2 Nov 2009 05:12:05 -0800 (PST)
Local: Seg 2 nov 2009 11:12
Assunto: Re: Função quer retorna o resultado de uma chamada remota
Bruno, acho que tem algo bem estranho aí.
A implementação do método getInstance (isso é um Singleton, não?) não
é assim. Não deves mudar isso.
Para fazer o que queres, no Command que trata o result do
RemoteObject, atribui o event.result a uma propriedade pública do teu
Model.

Se não tens um Command, então, no teu resultHandler, faz a atribuiçao
do event.result para o Model (o teu Singleton)


    Responder    Responder ao autor    Encaminhar  
É necessário Acessar antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Julio carneiro  
Ver perfil   Traduzir para Traduzido (ver original)
 Mais opções 2 nov, 11:21
De: Julio carneiro <jjcarne...@gmail.com>
Data: Mon, 2 Nov 2009 05:21:24 -0800 (PST)
Local: Seg 2 nov 2009 11:21
Assunto: Re: Função quer retorna o resultado de uma chamada remota
Tem jeito não Bruno. O Flex is inerentemente(?) assíncrono. Não tem
como fazer isto que vc quer não.

julio

On 2 nov, 10:42, Bruno Carneiro <guimaraescarne...@gmail.com> wrote:


    Responder    Responder ao autor    Encaminhar  
É necessário Acessar antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Bruno Carneiro  
Ver perfil   Traduzir para Traduzido (ver original)
 Mais opções 2 nov, 12:35
De: Bruno Carneiro <guimaraescarne...@gmail.com>
Data: Mon, 2 Nov 2009 06:35:35 -0800 (PST)
Local: Seg 2 nov 2009 12:35
Assunto: Re: Função quer retorna o resultado de uma chamada remota
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?


    Responder    Responder ao autor    Encaminhar  
É necessário Acessar antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Bruno Carneiro  
Ver perfil   Traduzir para Traduzido (ver original)
 Mais opções 2 nov, 12:44
De: Bruno Carneiro <guimaraescarne...@gmail.com>
Data: Mon, 2 Nov 2009 06:44:51 -0800 (PST)
Local: Seg 2 nov 2009 12:44
Assunto: Re: Função quer retorna o resultado de uma chamada remota

Tentei fazer diferente, ao invés de retornar uma instancia do meu
arraycollection eu apenas criei um metodo refresh(), esse metodo ira
comparar lastUpdt e lastGet e se fosse necessário ira atualizar a
lista. Além disso, fiz minha propriedade com o arraycollection ser
pública. A inteção era fazer um binding da propriedade da minha classe
com o dataprovider dos componentes. Mas quando tento usar minha classe
para fazer o binding, da erro:

var addc:addconta = new addconta();
addc.addEventListener("criarconta",criarcontaListener);

//atualizo a lista
TipoContaProvider.refresh(); //Access of undefined property
TipoContaProvider.
// faço binding
BindingUtils.bindProperty
(addc,"tipoConta_dp",TipoContaProvider,"tipoConta_dp");//Access of
undefined property TipoContaProvider.

PopUpManager.addPopUp(addc,this,true);

Atualmente eu resolvo esse problema assim:

Dado dois componentes, eles tem um ou mais pais em comum. Não importa
onde eles estejam, na pior das hipóteses terão a app como pai comum.
Eu vou no pai comum de mais baixo nível, ou seja, o primeiro pai comum
de baixo para cima, e nesse pai comum eu faço a chamada remota, crio
os arraycollection e os faço bindable.

Depois eu vou decendo o nível, criando um arraycollection em cada
container, e fazendo o bing desse arraycollection com o
arraycollection do pai. E assim sucessivamente, até chegar no
container quem tem o controle que usa o arraycollection, onde eu faço
o ultimo bing do arraycollection para o dataProvider do controle.

Funciona perfeitamente, porém muito feio...


    Responder    Responder ao autor    Encaminhar  
É necessário Acessar antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Julio carneiro  
Ver perfil   Traduzir para Traduzido (ver original)
 Mais opções 2 nov, 12:49
De: Julio carneiro <jjcarne...@gmail.com>
Data: Mon, 2 Nov 2009 06:49:06 -0800 (PST)
Local: Seg 2 nov 2009 12:49
Assunto: Re: Função quer retorna o resultado de uma chamada remota
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:


    Responder    Responder ao autor    Encaminhar  
É necessário Acessar antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Bruno Carneiro  
Ver perfil   Traduzir para Traduzido (ver original)
 Mais opções 2 nov, 13:15
De: Bruno Carneiro <guimaraescarne...@gmail.com>
Data: Mon, 2 Nov 2009 07:15:43 -0800 (PST)
Local: Seg 2 nov 2009 13:15
Assunto: Re: Função quer retorna o resultado de uma chamada remota
Julio, tentei fazer como vc falou mas não estou conseguindo usar.

Minha classe ficou assim:
http://pastebin.com/m3d8b49f8

E na hora de usar, estou tentando assim, mas sempre obtenho um erro na
hora da compilação

private function lbclick(e:ItemClickEvent):void{
        switch (e.label){
                case 'Criar uma nova conta':
                        var addc:addconta = new addconta();
                        addc.addEventListener("criarconta",criarcontaListener);

                        TipoContaProvider.getInstance(function (ac:ArrayCollection):void
{this.tipoConta_dp = ac;}); // ERRO AQUI Access of undefined property
                                                                                                                                                                        TipoContaProvider.

                        BindingUtils.bindProperty(addc,"tipoConta_dp",this,"tipoConta_dp");
                        PopUpManager.addPopUp(addc,this,true);
                        PopUpManager.centerPopUp(addc);
                break;


    Responder    Responder ao autor    Encaminhar  
É necessário Acessar antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Julio carneiro  
Ver perfil   Traduzir para Traduzido (ver original)
 Mais opções 2 nov, 21:40
De: Julio carneiro <jjcarne...@gmail.com>
Data: Mon, 2 Nov 2009 15:40:26 -0800 (PST)
Local: Seg 2 nov 2009 21:40
Assunto: Re: Função quer retorna o resultado de uma chamada remota
Bruno,

imagino que o error está nesta linha aqui não:
remote.pegarTC.addEventListener("result", pegarTCResultHandler
(event,callback));

é que no adEventListener vc tem que informar uma função, e não
executar uma chamada... tente:
remote.pegarTC.addEventListener("result", function
(event:ReseultEvent):void {pegarTCResultHandler(event,callback)});

hth
julio

On 2 nov, 13:15, Bruno Carneiro <guimaraescarne...@gmail.com> wrote:


    Responder    Responder ao autor    Encaminhar  
É necessário Acessar antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Bruno Carneiro  
Ver perfil   Traduzir para Traduzido (ver original)
 Mais opções 3 nov, 12:06
De: Bruno Carneiro <guimaraescarne...@gmail.com>
Data: Tue, 3 Nov 2009 06:06:32 -0800 (PST)
Local: Ter 3 nov 2009 12:06
Assunto: Re: Função quer retorna o resultado de uma chamada remota
Julio, fiz essa modificação o mesmo erro contina.

private function lbclick(e:ItemClickEvent):void{
        switch (e.label){
                case 'Criar uma nova conta':
                        var addc:addconta = new addconta();
                        addc.addEventListener("criarconta",criarcontaListener);

                        TipoContaProvider.getInstance( // 1120: Access of undefined
property TipoContaProvider.
                                function (ac:ArrayCollection):void {
                                        this.tipoConta_dp = ac;
                                });

                        //BindingUtils.bindProperty
(addc,"tipoConta_dp",this,"tipoConta_dp");
                        PopUpManager.addPopUp(addc,this,true);
                        PopUpManager.centerPopUp(addc);
                break;


    Responder    Responder ao autor    Encaminhar  
É necessário Acessar antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Bruno Carneiro  
Ver perfil   Traduzir para Traduzido (ver original)
 Mais opções 3 nov, 12:16
De: Bruno Carneiro <guimaraescarne...@gmail.com>
Data: Tue, 3 Nov 2009 06:16:45 -0800 (PST)
Local: Ter 3 nov 2009 12:16
Assunto: Re: Função quer retorna o resultado de uma chamada remota
Será que não tem algo a ver com package?

No começo, eu faço o import import
automobile.providers.TipoContaProvider;
Isso é suficiente?


    Responder    Responder ao autor    Encaminhar  
É necessário Acessar antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Bruno Carneiro  
Ver perfil   Traduzir para Traduzido (ver original)
 Mais opções 4 nov, 07:54
De: Bruno Carneiro <guimaraescarne...@gmail.com>
Data: Wed, 4 Nov 2009 01:54:45 -0800 (PST)
Local: Qua 4 nov 2009 07:54
Assunto: Re: Função quer retorna o resultado de uma chamada remota
Por favor, alguem poderia me ajudar com essa dúvida?

On 3 nov, 12:16, Bruno Carneiro <guimaraescarne...@gmail.com> wrote:


    Responder    Responder ao autor    Encaminhar  
É necessário Acessar antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Julio carneiro  
Ver perfil   Traduzir para Traduzido (ver original)
 Mais opções 5 nov, 00:42
De: Julio carneiro <jjcarne...@gmail.com>
Data: Wed, 4 Nov 2009 18:42:46 -0800 (PST)
Local: Qui 5 nov 2009 00:42
Assunto: Re: Função quer retorna o resultado de uma chamada remota
Bruno,

Pelo que vc indicou o erro está na definição/declaração da classe
TipoContaProvider.
Se vc puder postar o codigo dela e do módulo onde vc está usando, pode
ser que de pra ver onde está o problema.

Só com estes snippets aí não dá.

julio

On 3 nov, 12:06, Bruno Carneiro <guimaraescarne...@gmail.com> wrote:


    Responder    Responder ao autor    Encaminhar  
É necessário Acessar antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Bruno Carneiro  
Ver perfil   Traduzir para Traduzido (ver original)
 Mais opções 13 nov, 09:28
De: Bruno Carneiro <guimaraescarne...@gmail.com>
Data: Fri, 13 Nov 2009 03:28:45 -0800 (PST)
Local: Sex 13 nov 2009 09:28
Assunto: Re: Função quer retorna o resultado de uma chamada remota
Bem, obrigado.

Desculpe não responder, não tinha visto sua resposta.

Mas enfim, consegui resolver esse problema.

Agora estou com uma mensagem de erro dentro da minha classe:
http://pastebin.com/m27c71bdb - Classe completa

Abaixo o trecho com erro

remote.pegarTC.addEventListener("result",
                        function (event:ResultEvent):void {
                                this.pegarTCResultHandler
(event,callback);
                                //Main Thread (Suspended: TypeError:
Error #1006: pegarTCResultHandler não é uma função.)

                                //this.pegarTCResultHandler = <errors
during evaluation>
                                //No such variable:
pegarTCResultHandler
                        });


    Responder    Responder ao autor    Encaminhar  
É necessário Acessar antes de postar mensagens.
Para postar uma mensagem você precisa primeiro participar deste grupo.
Atualize seu apelido na página de configurações da inscrição antes de postar.
Você não tem a permissão necessária para postar.
Fim das mensagens
« Voltar às Discussões « Tópico recente     Tópico antigo »

Criar um grupo - Grupos do Google - Página inicial do Google - Termos de Uso - Política de Privacidade
©2009 Google