Instead of waiting for an answer i just ran a lil' test:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application creationComplete="eventListener(event)"
    xmlns:mx="http://www.adobe.com/2006/mxml";>
  <mx:Script>
    <![CDATA[
      import flash.utils.getQualifiedClassName;
      import mx.events.FlexEvent;

      private function eventListener(event:Event):void {
        trace(getQualifiedClassName(event)+"#"+event.type);
        switch(event.type) {
          case FlexEvent.APPLICATION_COMPLETE:
            this.registeredEventListenerTrace(FlexEvent.CREATION_COMPLETE);
            this.registeredEventListenerTrace(FlexEvent.APPLICATION_COMPLETE);
            this.removeEventListener(FlexEvent.CREATION_COMPLETE,
                eventListener, false);
            this.removeEventListener(FlexEvent.APPLICATION_COMPLETE,
                eventListener, false);
            this.registeredEventListenerTrace(FlexEvent.CREATION_COMPLETE);
            this.registeredEventListenerTrace(FlexEvent.APPLICATION_COMPLETE);
            break;
          case FlexEvent.CREATION_COMPLETE:
            this.removeEventListener(FlexEvent.CREATION_COMPLETE,
                eventListener, false);
            this.registeredEventListenerTrace(FlexEvent.CREATION_COMPLETE);
            this.registeredEventListenerTrace(FlexEvent.APPLICATION_COMPLETE);
            this.addEventListener(FlexEvent.APPLICATION_COMPLETE, eventListener,
                false, 0, true);
            this.registeredEventListenerTrace(FlexEvent.CREATION_COMPLETE);
            this.registeredEventListenerTrace(FlexEvent.APPLICATION_COMPLETE);
            break;
        }
      }
      private function registeredEventListenerTrace(type:String):void {
        trace("\t" + type + " is registered: " +
            this.hasEventListener(type));
      }
    ]]>
  </mx:Script>
</mx:Application>

I was surprised that the FlexEvent.CREATION_COMPLETE can't be removed. This is 
quite 
shocking...

Best regards.

--- In flexcoders@yahoogroups.com, "florian.salihovic" <[EMAIL PROTECTED]> 
wrote:
>
> Quoted from Adobe Flex Developers Guide, page 78
> 
> "However, it is best practice to use the addEventListener() method.
> This method gives you greater control over the event by letting
> you configure the priority and capturing settings, and use event constants.
> In addition, if you use addEventListener() to add an event handler, you can
> use removeEventListener() to remove the handler when you no longer need
> it. If you add an event handler inline, you cannot call removeEventListener()
> on that handler."
> 
>  - End of Quote -
> 
> What i think is a little bit confusing is, that it's said that inline 
> EventListener can't be 
> removed? Or is it just a little bit unluckily expressed? Why can't i just 
> call 
> removeEventListener in ActionScript on the type of event declared in MXML?
> 
> Best regards from Germany
>

Reply via email to