Tentei fazer um pouquinho diferente mas não deu certo.

Vejam o código:

private function add_marca_click():void{
                                var pop:cad_marca = 
cad_marca(PopUpManager.createPopUp
(this,cad_marca,true));
                                PopUpManager.centerPopUp(pop);
                                
//pop.addEventListener("cad_marca_fechar",function
(event:Event):void{
                                //      this.marcaRemote.getMarcas();
                                //});
                                
pop.addEventListener("cad_marca_fechar",this.teste);
                        }

                        private function teste(event:Event):void{
                                this.marcaRemote.getMarcas();
                        }


Do jeito que está ai, usando a função teste, funciona perfeitamente.

Mas se eu usar o código comentando ( e comentar o uso da função
teste ) o código não funciona embora não apresente nenhum erro.
Dessa outra forma seria muito mais organizado para mim, alguém saberia
me explicar pq não está funcionando da forma q eu queria?

On 17 jul, 12:19, Bruno Carneiro <guimaraescarne...@gmail.com> wrote:
> Muito obrigado, funcionou perfeitamente.
>
> Bem simples, eu pensei que para usar eventos eu teria que criar uma
> classe que herdasse a classe Event e etc...
> mas vi que é bem simples.
>
> Obrigado.
>
> On 17 jul, 10:09, "Jean Mariano Duarte" <j...@melim.com.br> wrote:
>
> > Bom dia,
>
> > Na hora que vc criar seu PopUp coloca um listener para ficar escutando
> > quando for disparado do lado na Janela do PopUp.
>
> > E depois a função "funcaoaexecutar()... faz o que vc quiser para atualizar o
> > combo..
>
> > Assim:
> > pop.addEventListener("quando_fechar", this.funcaoaexecutar);
>
> > private function funcaoaexecutar(event:Event):void{
>
> >     faz o que vc quiser....
>
> > }
>
> > Dentro do seu script que controla o PopUp depois de gravar os dados na
> > Base...
>
> > this.dispatchEvent(new Event("quando_fechar"));
> >      PopUpManager.removePopUp(this);
>
> > Ai ele vai criar um evento quando_fechar, que fica escutando o pelo
> > listener...
> > e executa sua função funcaoaexecutar
>
> > Algo assim.... digite os dados por causa dos imports em vez de copiar e
> > colar...
>
> > Atenciosamente
> > Jean Duarte
>
> > ----- Original Message -----
> > From: "Bruno Carneiro" <guimaraescarne...@gmail.com>
> > To: "flexdev" <flexdev@googlegroups.com>
> > Sent: Friday, July 17, 2009 9:48 AM
> > Subject: [flexdev] Saber quando popup vai fechar.
>
> > Gente, estou querendo pesquisar uma forma de saber quando a popup foi
> > fechada.
>
> > Estou criando a popup assim:
> > var pop:cad_marca = cad_marca(PopUpManager.createPopUp
> > (this,cad_marca,true));
> > PopUpManager.centerPopUp(pop);
>
> > Eu precisava de alguma forma vigiar essa variavel pop para saber
> > quando ela foi fechada mas não sei nem por onde começar...
>
> > Tenho que pesquisar eventos?
> > Ou existe alguma saída mais simples?
>
> > Recentemente usei um método BindingUtils.bindSetter que fica vigiando
> > quando uma propriedade de um controle muda. Existe algo parecido com
> > isso que eu possa usar na minha variavel pop para saber quando ela foi
> > fechada?
>
> > Tudo isso pq na minha tela tenho um combo cujas opções vem do banco.
> > Mas caso não tenha sido cadastrada a opção desejada, do lado tem um
> > botão ("+") que abre esse popup de cadastro. Porém depois que a pessoa
> > faz o cadastro e fecha o popup o combo não é atualizado, embora o
> > cadastro seja feito com sucesso. Então preciso de que quando alguém
> > clicar para fechar o popup o combo atualize. Só que não posso fazer
> > isso no evento close do popup pq esse mesmo popup é usado em outras
> > telas e nem sempre esse comportamente é desejado.
>
> > Seria viável fazer algo do tipo: No close do popup colocar uma
> > condiçõa
>
> > - Se o componente pai deste componente for "TAL"
> > - - Atualizar campo
> > - se não
> > - - Outra coisa.
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Responder a