Fábio, eu não consigo debugar o projeto, dá uma mensagem que o meu player não permite isso. não sei porque...
bom o problema dos dois click eu arrumei, coloquei a chamada do HTTP.send() no onChange do Textinput, pq quando eu clicava no botão, pela lógica de sequência da função, ele deveria executar o http e depois testar os campos, mas não faz isso, no primeiro click ele executava o httpService e no segundo que ele testava. Agora, se vc puder me ajudar, fiz algumas mudanças na função, mas mesmo assim não fu~ciona 100%, a não ser que os campos tenham sido preenchidos corretamente, se estiver tudo correto, passa, mas se eu deixar os campos em branco ele não testa, aí queria tirar uma dívida: Quando eu retorno uma consulta que vem em XML, mas que não traz resultado algum, como eu testo? Ex: o XML traz assim <nad> <login> <login></login> <senha></senha> </login> </nad> o mxml completo está assim: <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" height="100%" currentState="login"> <mx:HTTPService id="DPlogin" url="login.php?usuario={usuario_txt.text}&senha={senha_txt.text}"/> <mx:Script> <![CDATA[ //import mx.managers.PopUpManager; import mx.core.IFlexDisplayObject; import mx.utils.ArrayUtil; import mx.controls.Alert; private function processaLogin():void{ DPlogin.send(); var idUsuario:String = DPlogin.lastResult.nad.login.usuario; var idSenha:String = DPlogin.lastResult.nad.login.senha; if (idUsuario == usuario_txt.text && idSenha == senha_txt.text){ currentState="sistema"; }else if (DPlogin.lastResult.nad.login.usuario == ""){ Alert.show("Preencha o Campo Usuário"); }else if (DPlogin.lastResult.nad.login.senha == ""){ Alert.show("Preencha o Campo Senha"); }else{ Alert.show("Você digitou algo errado"); } } ]]> </mx:Script> <mx:states> <mx:State id="login" name="login"> <mx:AddChild position="lastChild"> <mx:Panel width="300" height="276" layout="absolute" horizontalCenter="0" verticalCenter="9" title="Login - Núcleo AD MT" cornerRadius="10"> <mx:Form horizontalCenter="0" y="20"> <mx:FormItem label="Usuário"> <mx:TextInput id="usuario_txt" width="100%" change="DPlogin.send();"/> </mx:FormItem> <mx:FormItem label="Senha"> <mx:TextInput id="senha_txt" displayAsPassword="true" width="100%" change="DPlogin.send();"/> </mx:FormItem> </mx:Form> <mx:Button id="ok" click="processaLogin()" label="Entrar no Sistema" width="60%" horizontalCenter="0" top="125"/> </mx:Panel> </mx:AddChild> </mx:State> <mx:State name="sistema"> <mx:AddChild position="lastChild"> <mx:Panel width="90%" height="200" layout="absolute" title="SISTEMA - NUCLEO AD MT" horizontalCenter="0" top="20"> <mx:Button x="206.5" y="66" label="Login Novamente" click="currentState='login'"/> </mx:Panel> </mx:AddChild> </mx:State> </mx:states> <!--</mx:TitleWindow> --> </mx:Application> Att Quinhone ----- Original Message ----- From: "Fabio Terracini" <[EMAIL PROTECTED]> To: <flexdev@googlegroups.com> Sent: Sunday, February 11, 2007 10:10 PM Subject: [flexdev] Re: Ajuda com função Luis, Como está a sua tag HTTPService? Você tem alguma variável para popular que é enviada para o serviço (como o login e senha em si)? Será que a chamada de seu método send não tem que vir depois de alguma coisa? Afinal, se você tem que clicar duas vezes, algum processamento está ocorrendo depois da primeira chamada que faz a segunda chamada funcionar. Você já tentou um debug para ver se as variáveis estão com os valores que você espera? Se está entrando no bloco de código correto, etc etc? []s Fabio Terracini On 2/11/07, Luis Carlos Quinhone <[EMAIL PROTECTED]> wrote: > > > Pessoal tenho uma função que serve pra testar dois campos e fazer login, > mas > estou com alguns problema na execução. > > 1º - Tenho que clicar duas vezes no botão pra executar. > 2º - se os campos estiverem corretos, depois do segundo click, entra no > state "SISMETA", mas se preencher errado ou deixar em branco, não faz nada > > Alguém pode ajudar? > > > função: > > private function processaLogin():void{ > DPlogin.send(); // aqui eu axecuto a consulta no BD via > HTTPService que me retorna umXML > var idUsuario:String = > DPlogin.lastResult.nad.login.usuario; > var idSenha:String = > DPlogin.lastResult.nad.login.senha; > if (idUsuario == usuario_txt.text && idSenha == > senha_txt.text){ > currentState="sistema"; > }else if > (usuario_txt.text =="" || senha_txt.text==""){ > Alert.show("Preencha os campos"); > }else{ > Alert.show("Opsss!! Erro!"); > } > } > > Att > > Quinhone > > > --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] Mais opções estão disponíveis em http://groups.google.com/group/flexdev -~----------~----~----~----~------~----~------~--~---