esqueci um detalhe, o for é assim

for (i = 0; i < 4; i++ )
{
  Sql.executaConsulta("jose",i,"2009-08-20","2009-08-25") //CHAMANDO A
CLASSE Sql que possui o metodo executaConsulta, metodo statico.
   Alert.show(String(Sql.resp));

}

On 3 jul, 14:05, Fábio Goll <fabiog...@gmail.com> wrote:
> 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