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