Tá errado cara, o onResult provavelmente está sendo chamado depois do
alerta:

executaConsulta("jose",i,"2009-08-20","2009-08-25")
Alert.show(String(Sql.resp)); ------>>>>>> essa linha está errada, pois não
tem ligação nenhuma com o onResult !!!!

Com certeza quando ele executar o alert, o resultado do java ainda não veio.

-------------------------------------
ro.addEventListener(ResultEvent.RESULT,onResultRetorno);

public static function onResultRetorno(rs:ResultEvent):void {
  resp = rs.result as Boolean;
/* ------->>>>>> Aqui vc tem que disparar um evento avisando que terminou a
chamada e capturar ele na sua "tela" para consultar o valor
 da variável estatica.
 Alias, era bom mandar o objeto pelo evento, não criar variável estática pra
isso, ou ainda criar uma classe Singleton para armezenar
 o valor */

}

Espero ter ajudado.


2009/7/3 Pergentino Araújo <jpergent...@gmail.com>

> > Mostra como você está associando lá no java.
>
>
> 2009/7/3 Michael <michaelantu...@terra.com.br>
>
>>
>> Sim, esta chamando certo sim.
>>
>> On 3 jul, 11:40, Pergentino Araújo <jpergent...@gmail.com> wrote:
>> > Não, ele está correto sim (pelo menos aparentemente).
>> >
>> > ro.addEventListener(ResultEvent.RESULT,*onResultRetorno*);
>> >
>> > public static function *onResultRetorno*(rs:ResultEvent):void {
>> >                        resp = rs.result as Boolean;
>> >                        Alert.show(resp.toString());
>> >
>> > }
>> >
>> > Está chamando o método no onResult.
>> >
>> > Me fala uma coisa, como você está associando lá no java ? vc chegou a
>> > debugar lá pra ver se ele realmente chama ?
>> >
>> > Mostra como você está associando lá no java.
>> >
>> > []'s
>> >
>> > 2009/7/3 Fábio Goll <fabiog...@gmail.com>:
>> >
>> >
>> >
>> > > É pq o flex é assincrono, tu não tem como chamar o método e já pegar o
>> > > resultado na linha de baixo.
>> > > Tem que ser baseado em eventos a chamada ao java.
>> > > Quando o alert é chamado, não terminou ainda de processar o
>> remoteobject.
>> > > Tem muitas dúvidas dessas na lista, dê uma pesquisada sobre eventos.
>> > > []s
>> > > Fábio
>> > > 2009/7/3 Michael <michaelantu...@terra.com.br>
>> >
>> > >> Acho que não, porque to fazendo para 1 x apenas.
>> >
>> > >> On 3 jul, 10:51, George Queiroz <george.ba....@gmail.com> wrote:
>> > >> > eu acho q pq vc esta chamando várias X o mesmo método como o flex
>> faz
>> > >> > isso
>> > >> > com assincrono, o último resultado pode estar false e sobrescreve
>> sua
>> > >> > variável, não?
>> >
>> > >> > 2009/7/3 Michael <michaelantu...@terra.com.br>
>> >
>> > >> > > O valor correto eu estou pegando, no show do onResultRetorno, eu
>> > >> > > consigo pegar o valor certo vindo da consulta no Java. O problema
>> é
>> > >> > > que eu nao consigo manter a veriavel. Exemplo. Se eu retorno
>> true, na
>> > >> > > ahora de apresentar ela no MXML ela retorna FALSE, mas no show do
>> > >> > > result, me mostrou o true.
>> >
>> > >> > > Eu quero manter a variavel resp.
>> >
>> > >> > > On 3 jul, 10:44, Pergentino Araújo <jpergent...@gmail.com>
>> wrote:
>> > >> > > > Opa Michael,
>> >
>> > >> > > > no caso, você não deveria pegar o valor assim:
>> > >> > > > rs.result.SUA_PROPRIEDADE
>> > >> > > ???
>> >
>> > >> > > > No caso, o result vem como o objeto vindo do server-side que,
>> se
>> > >> > > > você
>> > >> > > > tem uma propriedade dentro dele, tem que pegar desta forma que
>> te
>> > >> > > > falei.
>> >
>> > >> > > > Abraços.
>> >
>> > >> > > > 2009/7/3 Michael Antunes <michaelantu...@terra.com.br>:
>> >
>> > >> > > > > E ai pessoal.. Seguinte. Eu tenho uma classe que recebe
>> alguns
>> > >> > > > > parametros e realiza uma consulta no banco de dados. Abaixo a
>> > >> > > > > classe.
>> >
>> > >> > > > > Classe Sql {
>> >
>> > >> > > > >                 public static var resp:Boolean;
>> >
>> > >> > > > >                 public function Sql () {}
>> >
>> > >> > > > >                public static function executaConsulta
>> > >> > > > > (parametro:String,quantidade:int,dI:String,dF:String):void {
>> > >> > > > >                        var ro:RemoteObject = new
>> RemoteObject();
>> > >> > > > >                        ro.destination      = "Controle";
>> > >> > > > >                        ro.showBusyCursor   = true;
>> >
>> > >> > >  ro.addEventListener(ResultEvent.RESULT,onResultRetorno);
>> >
>> > >> > > > >  ro.addEventListener(FaultEvent.FAULT,onFault);
>> > >> > > > >
>>  ro.verifica(parametro,quantidade,dI,dF);
>> > >> > > > >                }
>> >
>> > >> > > > >                public static function
>> > >> > > onResultRetorno(rs:ResultEvent):void {
>> > >> > > > >                        resp = rs.result as Boolean;
>> > >> > > > >                        Alert.show(resp.toString());
>> > >> > > > >                }
>> >
>> > >> > > > > }
>> >
>> > >> > > > > Eu passo os parametros para ela, atravez de um mxml dentro de
>> um
>> > >> > > > > for
>> >
>> > >> > > > > var retorno:Boolean;
>> > >> > > > > for (i = 0; i < 4; i++ )
>> > >> > > > > {
>> > >> > > > >  executaConsulta("jose",i,"2009-08-20","2009-08-25")
>> > >> > > > >   Alert.show(String(Sql.resp));
>> > >> > > > > }
>> >
>> > >> > > > > O problema é que meu resp sempre volta false, mesmo que ele
>> seja
>> > >> > > > > true.
>> > >> > > > > Como faço para ele voltar com o result correto.
>> >
>> > >> > > > --
>> > >> > > > Atenciosamente, Pergentino.
>> >
>> > > --
>> > > Fábio Goll
>> > > Gtalk/Msn: fabiog...@gmail.com
>> > > Twitter: @fabiogoll
>> >
>> > --
>> > Atenciosamente, Pergentino.
>>
>>
>
>
> --
> Atenciosamente, Pergentino.
>
> >
>


-- 
Fábio Goll
Gtalk/Msn: fabiog...@gmail.com
Twitter: @fabiogoll

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