Gabriela, passe então a instância do seu botão no evt.

 var evt:AreaEvent = new AreaEvent(EventTypes.NOVA_AREA , event.target );
crie antes um evento personalizado que faça extend do Event e assim 
poderá adicionar propriedades adicionais (neste caso o button).
Basta adicionar uma propriedade pública ex

public var button :Button e no construct do AreaEvent usa:

AreaEvent( type: String , btn : Button ){
    super( type );
    this.button = btn;
}
public var button : Button;


Assim no seu controller poderá usar algo do género

  public function criarArea(evt:AreaEvent):void{
    if(evt.button)
        ....
        ....
  }

E continua a ter os componentes separados e com possibilidade de 
re-utilização de código.

João Fernandes

gabriela perry wrote:
> João, percebi que não estou te ajudando a me ajudar.... desculpe.
>  
> A classe ControlHelper.as tem métodos que executam dependendo do 
> evento que for disparado pelo EditarArea.mxml
>  
> Em EditarArea.mxml, clicar em um dos botões dela dispara o seguinte 
> código (no corpo de EditarAreas.mxml)
>  
> private function novaArea(event:MouseEvent):void 
> {
>     var evt:Event = new Event(EventTypes.NOVA_AREA);    
>     ApplicationController.getInstance().dispatch( evt );
> }
>  
> A linha: "ApplicationController.getInstance().dispatch( evt ); " gera 
> a execução de um método que está na classe ControlHelper.
> Dentro dela, quero acessar um button que está em EditarAreas.mxml.
>
>
> Gabriela Trindade Perry
> Designer - php/AS developer
> Msc Ergonomics (PPGEP/UFRGS)
> PhD Student Educational Technology (PPGIE/UFRGS)
> http://www.gabriela.trindade.nom.br
>
>
>     ------------------------------------------------------------------------
>     Date: Mon, 3 Sep 2007 13:58:25 +0100
>     From: [EMAIL PROTECTED]
>     To: [email protected]
>     Subject: [riapt] Re: Referenciar componente
>
>     Gabriela, suponho que o seu controlHelper esteja dentro do
>     EditarAreas.mxml certo?
>
>     se for o caso , é normal pois no momento de inicialização do
>     EditarAreas.mxml, este irá inicializar os childs, um deles sendo o
>     ControlHelper e outro o myButton.
>     Ora o mybutton poderá ainda não existir aquando da inicialização
>     do helper.
>
>     1º deveria tentar abstrair o seu helper para não ficar agregado a
>     um componente externo e use antes getters e setters para receber
>     as suas dependências.
>
>     exemplo :
>
>     package br.aeq.areas.controller
>     {
>
>      import mx.controls.Button;
>      import br.aeq.views.EditarAreas
>      
>      internal final class ControlHelper
>      { 
>       private var _targetButton:Button=mybutton // é esta linha que
>     acusa o erro
>       
>       public function criarArea(evt:Event):void{
>         if(_targetButton)
>             ....
>             ....
>       }
>        
>      }
>     public function set targetButton(btn:Button):void{
>       _targetButton = btn;
>     }
>     public function get targetButton():Button{
>         return _targetButton;
>     }
>     }
>
>     e usar depois no seu código algo do género
>
>     <ns:ControlHelper id="controller" targetButton="{ myButton }"/>
>
>     João Fernandes
>
>     gabriela perry wrote:
>
>         Olá.
>          
>         A classe dentro da qual quero referenciar o componente é esta:
>          
>         package br.aeq.areas.controller
>         {
>
>          import mx.controls.Button;
>          import br.aeq.views.EditarAreas
>          
>          internal final class ControlHelper
>          { 
>           private var targetButton:Button=mybutton // é esta linha que
>         acusa o erro
>           
>           public function criarArea(evt:Event):void{
>           }
>            
>          }
>         }
>
>         O button foi criado no componente EditarAreas.mxml, que está
>         em br.aeq.views
>          
>         Isso acontece porque a classe está em outra pasta?
>          
>
>         Gabriela Trindade Perry
>         Designer - php/AS developer
>         Msc Ergonomics (PPGEP/UFRGS)
>         PhD Student Educational Technology (PPGIE/UFRGS)
>         http://www.gabriela.trindade.nom.br
>         <http://www.gabriela.trindade.nom.br/>
>
>
>             
> ------------------------------------------------------------------------
>             Date: Mon, 3 Sep 2007 10:49:44 +0100
>             From: [EMAIL PROTECTED]
>             <mailto:[EMAIL PROTECTED]>
>             To: [email protected] <mailto:[email protected]>
>             Subject: [riapt] Re: Referenciar componente
>
>             Gabriela,
>
>             pode postar um pouco mais de código?
>             Como está a utilizar a sua class?
>
>             João Fernandes
>
>             gabriela perry wrote:
>
>                  Olá.
>
>                 Me desculpem, é uma dúvida totalmente tola, mas não
>                 consigo perceber o que estou fazendo errado :(
>
>                 Gostaria de referenciar um Button, com id="mybutton",
>                 que está dentro de um
>                 componente customizado, localizado em
>                 br.aeq.views.EditarAreas
>
>                 Para tanto, escrevi na classo onde eu gostaria de
>                 refencir o Button:
>
>                 import mx.controls.Button;
>                 import br.aeq.views.EditarAreas;
>
>                 public class SomeClass {
>                     private var targetButton:Button=mybutton
>
>                 O que retorna (duas vezes) o erro 1120: Access of
>                 undefined property myButton
>
>                 O que está errado, por favor?
>                 Desde já agradeço a atenção.
>
>                 Gabriela Trindade Perry
>                 Designer - php/AS developer
>                 Msc Ergonomics (PPGEP/UFRGS)
>                 PhD Student Educational Technology (PPGIE/UFRGS)
>                 http://www.gabriela.trindade.nom.br
>                 <http://www.gabriela.trindade.nom.br/>
>
>
>                 
> ------------------------------------------------------------------------
>                 Get news, entertainment and everything you care about
>                 at Live.com. Check it out!
>                 <http://www.live.com/getstarted.aspx>
>
>
>
>
>
>
>     >

--~--~---------~--~----~------------~-------~--~----~
Recebeu esta mensagem porque está inscrito em Grupo "Mailing List da Comunidade 
Portuguesa de Desenvolvimento de RIAs - www.riapt.org" do Grupos Google.
 Para enviar mensagens para este grupo, envie um email para 
[email protected]
 Para anular a inscrição neste grupo, envie um email para [EMAIL PROTECTED]
 Para mais opções, visite este grupo em 
http://groups.google.com/group/riapt?hl=pt-PT
-~----------~----~----~----~------~----~------~--~---

Responder a