Tenho o form principal da aplicação e um componente de login.
Ao iniciar a aplicação automaticamente o login (usando popup) do usuário é pedido.
Preciso que ao efetuar o login possa habilitar alguns botões que estão desabilitados na tela principal.
Eu queria receber um true do login e fazer as verificações no meu form principal e isto eu não estou conseguindo fazer.
<?xmlversion="1.0"encoding="utf-8"?><mx:Panelxmlns:mx="http://www.adobe.com/2006/mxml"layout="absolute"width="272"height="166"title="Identificação"><mx:Script><![CDATA[importflash.events.Event;importmx.controls.Alert;importmx.managers.PopUpManager;publicfunctionverificaLogin(e:Event):void{if(edtCpf.text==""&&edtSenha.text==""){Alert.show("Preencha todos os campos!");}elseif(edtCpf.text=="123"&&edtSenha.text=="123"){dispatchEvent(newEvent('efetuarLogin',true,true));}else{Alert.show("errou");}}]]></mx:Script><mx:Labelx="10"y="10"text="Por favor, digite seu CPF e sua senha"width="232"textAlign="center"color="#FF0000"fontWeight="bold"fontSize="10"/><mx:Labelx="53"y="38"text="CPF:"/><mx:TextInputx="82"y="36"id="edtCpf"/><mx:Labelx="39"y="68"text="Senha:"/><mx:TextInputx="82"y="66"id="edtSenha"displayAsPassword="true"/><mx:Buttonx="180"y="94"label="Enviar"id="btnLogin"click="verificaLogin(event);"/></mx:Panel>
Então… Quando eu clico no btnLogin no Login.mxml ele executa a função verificaLogin() e quando o usuário e senha são 123 ele dispara o evento dispatchEvent(new Event(‘efetuarLogin’, true, true));
Na principal.mxml tem a funcão init no create do application, dentro do init() tem o this.addEventListener(‘efetuarLogin’, loginOk); que deveria chamar a função loginOk e não está chamando.
Poderiam me ajudar?
andre.gil
Opa,
Como você tá adicionando o EventListener no this e disparando na sua Popup, ele não está conseguindo capturar. O ideal nesse caso seria adicionar o Listener na sua Popup. Tente trocar o this.addEventListener para frmLogin.addEventListener que deverá resolver.
Se não resolver, avise que dou uma olhada quando tiver com o Flex Builder aqui para testar.
[]'s
WesleyAvila
andre.gil
Funcionou!!!
Usando o this é pra quando o evento e disparado na mesma tela, num é isso?
Muito obrigado pela ajuda!
Abraços!!!
andre.gil
Opa, que bom que funcionou!
É isso mesmo, você adiciona o Event Listener no local onde você irá disparar o evento.