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"

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