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