WTF? O.o

Que diabos de IF é esse? He he he...

Closures for the win! Eu creio que você queira continuar teu código após a 
popup estar fechada, é isso?
Se for, basta adicionar um evento ao popup do tipo close (veja a sintaxe 
correta do evento pq to fazendo de cabeça):

pop1.addEventListener(Event.Close, function():void
{
   // Código a executar depois da popup ser fechada.
});

Se quiser que o código apareça depois que a popup estiver criada (para evitar 
problemas com o creation policy), closure for the win também:

PopUpManager.centerPopUp(pop1);
callLater(function():void
{
        // Código a executar depois da popup estar devidamente criada (ao menos 
o primeiro nível)
});


From: Fabio Ebner 
Sent: Monday, December 07, 2009 12:22 PM
To: flexdev@googlegroups.com 
Subject: [flexdev] Re: Alert Customizado


Cara so mais 1 coisa.. eu fiz o seguinte codigo:
var placemarks:Array=event.response.placemarks;
                if (placemarks.length > 0)
                {
                    if (placemarks.length > 1)
                    {
                        var 
pop1:SelecionarEnderecos=SelecionarEnderecos(PopUpManager.createPopUp(this, 
SelecionarEnderecos, true));
                        PopUpManager.centerPopUp(pop1);
                        pop1.enderecoList=placemarks;
                        pop1.enderecoSelecionado=endereco;
                    }
                    map.setCenter(placemarks[0].point);
                    var marker:Marker=new Marker(placemarks[0].point);
                    map.addOverlay(marker);
                    marker.addEventListener(MapMouseEvent.CLICK, 
function(event:MapEvent):void
                        {
                            marker.openInfoWindow(new InfoWindowOptions({title: 
"Geocoded Result", content: placemarks[0].address}));
                        });
                }
            }

porem queria q ele esperaca o retorno do meu                         var 
pop1:SelecionarEnderecos=SelecionarEnderecos(PopUpManager.createPopUp(this, 
SelecionarEnderecos, true)); para continuar.. tem como fazer isso??

pq dessa forma ele continua executando o que esta embaixo


valeu


2009/12/7 Fabio Ebner <faeb...@gmail.com>

  o mlkao foi .. o q acontece q eu estava fazendo dentro de um funcao dentro de 
outra.. dai ele estava se confundindo.. joguei pra uma funcao simples rodou :D 



  2009/12/7 Marcel Pigozzi <marcelpsara...@gmail.com>

    ah é verdade ... confusão minha! mals =/


    2009/12/7 J.C.Ködel <jcko...@gmail.com> 


      this representa o escopo atual, não a classe!
      Principal motivo de confusão em closures (anonymous delegates).

      ex.:

      public class foo()
      {
        public function bar():void
        {
            var x:Object = this;  // x é do tipo foo

            callLater(function():void
            {
                var y:Object = this;  // y é um delegate anônimo 
(funct...@000000)
            });
        }
      }


      From: Marcel Pigozzi 
      Sent: Monday, December 07, 2009 11:35 AM
      To: flexdev@googlegroups.com 
      Subject: [flexdev] Re: Alert Customizado


      opa ...
      fiz aqui um teste, colocando um canvas dentro da application .. certo ? 
Quando a application é carregada, ela chama o canvas ... e ele trata do PopUp 
... aqui funcionou tranquilo ... o this, se não me engano, corresponde a 
própria classe ... ;-)

      []s


      2009/12/7 Fabio Ebner <faeb...@gmail.com>

        Entao pelo q eu entendi o q acontece, para dar certo esse meu THIS 
teria q ser a minha mx:Application porem eu estou chamando ele de dentro de um 
canvas, logo qdo vou o this ele fala q nao consegue converter o canvas para 
Application, tentei usar this.parent dentro do canvas, porem ele me retorna 
null, sabe como eu posso pegar o parent do meu canvas dentro dele??

        valeu 



        2009/12/7 Marcel Pigozzi <marcelpsara...@gmail.com>

          Testei aqui e funcionou ...Deve ter alguma coisa errada no seu 
application
          no entanto, fiz de outra forma ... veja como ficou: 



          <?xml version="1.0" encoding="utf-8"?>

          <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"; 
layout="absolute"> 

              
              <mx:Script>
                  <![CDATA[
                      import mx.managers.PopUpManager;
                  

                      private var _win:SelecionarEnderecos;
                      
                      private function onClick():void {
                          _win = new SelecionarEnderecos();
                          PopUpManager.addPopUp(_win, this, true);
                      }
                      
                  ]]>
              </mx:Script>
              
              <mx:Button id="btn" click="onClick()" />
              
          </mx:Application>


          t+ 




          2009/12/7 Fabio Ebner <faeb...@gmail.com>

            Marcel , esta quase la, eu executo a seguinte linha:

            var 
pop1:SelecionarEnderecos=SelecionarEnderecos(PopUpManager.createPopUp(this, 
SelecionarEnderecos, true));

            estou recebendo o seguinte erro:


            TypeError: Error #1034: Falha de coerção de tipo: não é possível 
converter glo...@4016d91 em flash.display.DisplayObject.


            esse glo...@4016d91 e o meu this. da funcao createPopUp;


            segue a minha SelecionarEnderecos:



            <?xml version="1.0" encoding="utf-8"?>
            <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml";
                            layout="absolute"
                            width="602"
                            height="252"
                            title="Selecionar Endereço"
                            showCloseButton="false"
                            visible="true">

                <mx:Script>
                    <![CDATA[
                        import mx.managers.PopUpManager;
                        [Bindable]
                        public var enderecoList:Array;

                        private function selectEndereco(evt:Event):void
                        {
                            removeMe();
                        }

                        private function removeMe():void
                        {
                            PopUpManager.removePopUp(this);
                        }
                    ]]>
                </mx:Script>
                <mx:DataGrid x="10"
                             y="10"
                             width="562"
                             height="162"
                             id="listaEndereco"
                             editable="false"
                             enabled="true"
                             dataProvider="{enderecoList}">
                    <mx:columns>
                        <mx:DataGridColumn headerText="Column 1"
                                           dataField="col1"/>
                        <mx:DataGridColumn headerText="Column 2"
                                           dataField="col2"/>
                        <mx:DataGridColumn headerText="Column 3"
                                           dataField="col3"/>
                    </mx:columns>
                </mx:DataGrid>
                <mx:Button x="10"
                           y="180"
                           label="Selecionar"
                           width="243"
                           id="botaoSelecionar"
                           click="selectEndereco(event)"/>
                <mx:Button x="329"
                           y="180"
                           label="Cancelar"
                           width="243"
                           id="botaoCancelar"
                           click="removeMe()"/>

            </mx:TitleWindow>



            2009/12/7 Marcel Pigozzi <marcelpsara...@gmail.com>

              vc pode utilizar o titleWindow ;-)
              segue: 
http://livedocs.adobe.com/flex/3/html/help.html?content=layouts_12.html

              abraços


              2009/12/7 Fabio Ebner <faeb...@gmail.com> 


                Pessoal e possivel eu abrir um alert customizado?? quero um 
alert com uma dataGrid, e dois botoes Cancelar e Selecionar, que o usuario 
possa escolher uma linha do dataGrid e retorne para a minha aplicacao a linha 
selecionada


                valeu






              -- 

              Marcel Pigozzi

              "Procure ser uma pessoa de valor, em vez de procurar ser uma 
pessoa de sucesso. O sucesso é conseqüência"











          -- 
          Marcel Pigozzi

          "Procure ser uma pessoa de valor, em vez de procurar ser uma pessoa 
de sucesso. O sucesso é conseqüência"










      -- 
      Marcel Pigozzi

      "Procure ser uma pessoa de valor, em vez de procurar ser uma pessoa de 
sucesso. O sucesso é conseqüência"





    -- 
    Marcel Pigozzi

    "Procure ser uma pessoa de valor, em vez de procurar ser uma pessoa de 
sucesso. O sucesso é conseqüência"







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

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Responder a