Boa noite pessoal...

   Bom, a um tempo atras eu tentei fazer essa rotina funcionar e por motivos
maiores, tive que parar.

Agora estou retomando essa necessidade e por algum motivo, os meus eventos
só estão indo até o escopo da biblioteca, não passa para o escopo da
aplicação.

Alguém sabe o motivo? configuração ou algo do genero?

tenho a seguinte situação...

Na minha tela de login, que está dentro de uma biblioteca, eu chamo disparo
o seguinte evento

dispatchEvent(new Event(FlexEvent.REMOVE, true, true)); //evento usado é
somente para teste

tenho um arquivo.as que faz a chamada da minha tela de login...

        public function doLoginScreen(parent:DisplayObject)
        {
            var loginPopUp:Login =
Login(PopUpManager.createPopUp(parent,libs.view.Login,true));
            loginPopUp.setFocus();
            PopUpManager.centerPopUp(loginPopUp);
            loginPopUp.addEventListener(FlexEvent.REMOVE, changeLogin);
//evento usado somente para teste
         }

        public function changeLogin(e:FlexEvent):void {
            Alert.show("Testando","Recebeu da lib ");
            //enviando novo evento para a tela da aplicação principal
            this.dispatchEvent(new Event(FlexEvent.REMOVE));
        }
Até neste ponto acima, recebo a notificação do evento normalmente...

porém, da parte da aplicacao, já não recebo mais nenhuma notificação de que
o evento foi disparado... alguém consegue me ajudar?

            protected function
application_creationCompleteHandler(event:FlexEvent):void
            {
                var doLogin:doLoginScreen = new doLoginScreen(this);
                doLogin.addEventListener(FlexEvent.REMOVE, teste);
            }

Abraço


Em 12 de agosto de 2010 20:47, [email protected]
<[email protected]>escreveu:

> Tente colocar no seu evento assim
>
> super(EVENTO,true,true); colque a true para propagar o evento
>
> On 12 ago, 15:49, Rodrigo Valentim <[email protected]> wrote:
> > Ninguém? =(
> >
> > Em 11 de agosto de 2010 12:22, Rodrigo Valentim
> > <[email protected]>escreveu:
> >
> >
> >
> >
> >
> >
> >
> >
> >
> > > Pessoal,
> >
> > >    Estou tentando elaborar uma rotina para ao validar o usuário, montar
> uma
> > > regra para dar permissões de acesso ao meu menu.
> >
> > > tenho a seguinte situação...
> >
> > > uma view.Login que faz a validação do usuário, nessa view eu botei um
> > > disparador de evento.
> >
> > > dispatchEvent(new Eventos(Eventos.MONTAMENU));
> >
> > > na minha aplicação (que usa a lib) eu instalei a tag Metadata com meu
> > > evento
> >
> > >     <fx:Metadata>
> > >         [Event (name="MontaMenu",type="libs.events.Eventos")]
> > >     </fx:Metadata>
> >
> > > inseri na application para ao criar a aplicação, montar meu listener
> >
> > > creationComplete="attachEventListeners()"
> >
> > > Nessa funcao, montei o seguinte
> >
> > >             public function attachEventListeners():void {
> > >                 this.addEventListener(Eventos.MONTAMENU, MontaMenu);
> > >             }
> >
> > > e então, criei minha função MontaMenu
> >
> > >             protected function MontaMenu(e:Eventos):void {
> > >                 var event:LoadUserEvent = new
> > > LoadUserEvent(LoadUserEvent.EVENT_LOAD_USER);
> > >                 event.dispatch();
> > >             }
> >
> > > Esqueci alguma coisa? ao validar o usuário, era pra fazer alguma coisa,
> > > botei breakpoint para debug, etc... porém não ocorre nenhuma chamada
> para o
> > > meu montaMenu, é como se ele não estivesse ouvindo o evento que veio lá
> da
> > > biblioteca... alguém consegueria me informar o que pode estar errado?
> >
> > > Abraços,
> >
> > > --
> > > Atenciosamente,
> > > Rodrigo Valentim
> >
> > --
> > Atenciosamente,
> > Rodrigo Valentim
>
> --
> 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




-- 
Atenciosamente,
Rodrigo Valentim

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

Responder a