Acho que você ainda não compreendeu amigo. Sql.executaConsulta
Esse método vai ser executado e vai passar pra próxima instrução (o Alert) antes de terminar a execução do java, então vc está tentando pegar um valor que ainda nem chegou. E você ainda está fazendo isso dentro de um for, pior ainda, vc está encadeando várias chamadas simultâneas ao java, aí você não tem mais controle a qual chamada ao java o valor do boolean está atrelado. Terias que criar algo assim: public function salva(): void { Sql.addEventListener("qualquerEvento", terminouDeSalvar ); Sql.executaConsulta( params..... ); } public function terminouDeSalvar(e: Event): void { Alert.show( Sql.resp ); } E na classe Sql: public function onResultRetorno(rs:ResultEvent):void { resp = rs.result as Boolean; this.dipatchEvent( new Event("qualquerEvento") ) } Essa não é a forma mais correta de ser estruturada, mas serve de exemplo para você entender onde está o seu problema. Recomendo dar uma estudada no Swiz Framework, ele vai facilitar muito o que você quer fazer, estruturar as chamadas no back-end em outra camada, e não simplesmente sair jogando RemoteObjects nas telas... =) 2009/7/3 Michael <michaelantu...@terra.com.br> > > 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 > > > -- 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 -~----------~----~----~----~------~----~------~--~---