Boa noite senhores,
estou criando um sistema de login que verifica se o usuário já se
encontra logado para não pedir login novamente ao recarregar a página.
Usando o IE ocorre tudo sem problemas, mas quando executo no FireFox,
ocorre o seguinte erro:
ArgumentError: Error #2025: The supplied DisplayObject must be a child
of the caller.
at flash.display::DisplayObjectContainer/getChildIndex()
at mx.managers::SystemManager/getChildIndex()
at mx.managers::SystemManager/::mouseDownHandler()
Acredito que o problema esteja a seguinte instrução:
this.addEventListener(FlexEvent.CREATION_COMPLETE,verificaLogado);
Gostaria de saber pq ocorre esse erro e como resolvê-lo, caso alguém
possa me ajudar.
Grato.
Michel
o código é o seguinte:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="absolute" initialize="init();" backgroundColor="#000000"
xmlns:componentes="componentes.*">
<mx:Script>
<![CDATA[
import mx.events.FlexEvent;
import mx.controls.Alert;
import classes.AMFConnection;
private var amf:AMFConnection;
private var obj:Object;
public function init():void{
amf = new AMFConnection();
cpLogin.btAcessar.addEventListener(MouseEvent.CLICK,fazLogin);
cpPrincipal.btSair.addEventListener(MouseEvent.CLICK,fazLogout);
cpAlteracaoSenha.btAlterar.addEventListener(MouseEvent.CLICK,alterarSenha);
this.addEventListener(FlexEvent.CREATION_COMPLETE,verificaLogado);
}
public function fazLogin(e:MouseEvent):void{
obj =
{usuario:cpLogin.tiUsuario.text,senha:cpLogin.tiSenha.text};
amf.banco("Login.buscaLogin",obj,retorno);
}
public function fazLogout(e1:MouseEvent):void{
obj = {usuario:cpLogin.tiUsuario.text};
amf.banco("Login.fazLogout",null,retorno);
}
public function verificaLogado(e2:FlexEvent):void{
amf.banco("Login.verificaLogado",obj,retorno);
}
public function alterarSenha(e3:MouseEvent):void{
if(cpAlteracaoSenha.tiSenha.text ==
cpAlteracaoSenha.tiConfirmacaoSenha.text){
obj =
{senha:cpAlteracaoSenha.tiSenha.text, login:cpLogin.tiUsuario.text};
amf.banco("Login.alterarSenha",obj,retornoAlterarSenha);
}else{
cpAlteracaoSenha.paAlteracaoSenha.title
= "A senha e a
confirmação estão diferentes!";
}
}
public function retornoAlterarSenha(o1:Object):void{
if(o1 == "1"){
cpLogin.visible = false;
cpAlteracaoSenha.visible = false;
cpPrincipal.visible = true;
Alert.show("Senha Alterada com
sucesso!");
}else{
cpPrincipal.visible = false;
cpLogin.visible = false;
cpAlteracaoSenha.visible = true;
cpAlteracaoSenha.paAlteracaoSenha.title
= "Falha na alteração
verifique os requisitos!";
}
}
public function retorno(o:Object):void{
if(o == "1"){
cpLogin.visible = false;
cpPrincipal.visible = true;
}else if(o == "2"){
cpLogin.paLogin.title = "Senha
incorreta!!!";
cpPrincipal.visible = false;
cpLogin.visible = true;
}else if(o == "3"){
cpLogin.paLogin.title = "Usuário não
existe!!!";
cpPrincipal.visible = false;
cpLogin.visible = true;
}else if(o == "0"){
cpLogin.paLogin.title = "Digite usuário
e senha";
cpPrincipal.visible = false;
cpLogin.visible = true;
}else if(o == "4"){
cpPrincipal.visible = false;
cpLogin.visible = false;
cpAlteracaoSenha.visible = true;
}else{
Alert.show("Erro inesperado, comunicar
o Administrador");
}
}
]]>
</mx:Script>
<componentes:Login id="cpLogin" visible="false"/>
<componentes:Principal id="cpPrincipal" visible="false"/>
<componentes:alteracaoSenha id="cpAlteracaoSenha" visible="false"/>
</mx:Application>
--~--~---------~--~----~------------~-------~--~----~
Você recebeu esta mensagem porque está inscrito na lista "flexdev"
Para enviar uma mensagem, envie um e-mail para [email protected]
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
-~----------~----~----~----~------~----~------~--~---