Eduardo,

obrigado pela dica, acabei resolvendo de uma outra forma. os módulos
que eu estava carregando estavam cada um dentro de um moduleLoader e
cada um deles estava dentro de uma aba de um Tabnavigator, o que eu
fiz foi retirar os modulos do moduleLoader e criá-los através de uma
instancia a cada chamada. O código ficou mais ou menos assim:

<?xml version="1.0" encoding="utf-8"?>
<mx:Module xmlns:mx="http://www.adobe.com/2006/mxml";
layout="absolute"
  width="750" height="500"
  creationComplete="init()"
  remove="destroyModules()">
<mx:Script>
  <![CDATA[
      import flash.utils.*;
      import flash.events.MouseEvent;
      import mx.controls.Alert;
      import mx.core.Application;
      import mx.rpc.events.ResultEvent;
      import libs.PHPServer;
      import modules.financeiro.*;
      //import com.flexspy.FlexSpy;

      private var mainApp:Object;
      private var modMsg:*;
      private var modEsc:*;
      private var delay:Timer = new Timer(2000);

      /**
      * function init()
      * Funcção inicializadora
      */
      private function init():void{
        mainApp = Application.application;

        //cria o modulo de mensagens
        this.modMsg = new safm_1320_mensagens();
        this.vbMod1.addChild(this.modMsg);

        delay.addEventListener(TimerEvent.TIMER, checkEscalonado);
        delay.start();

        //FlexSpy.show(this);
      }

      private function checkEscalonado(e:TimerEvent):void{
        PHPServer.callServer("SafMensagensEscalonado",
"checkQtdeMsgEscalonado", mainApp.rsID, onMsgResult);
        delay.removeEventListener(TimerEvent.TIMER, checkEscalonado);
      }


      /**
      *
      * function onMsgResult()
      * Responsável por escutar o result do RO que checa as mensagens
de escalonado
      */
      private function onMsgResult(event:ResultEvent):void{
        var resultado:Object = event.result;

        //se não houver escalonados, desabilita a aba.
        if(resultado == null || resultado == 0){
            tnvContainer.selectedIndex = 1;
            tnvContainer.selectedChild.enabled = false;
            tnvContainer.selectedIndex = 0;

            //se for uma edição de msg, habilita o botão para cad. de
escalonados
            if((mainApp.flag_edit === true) && (mainApp.rsID != 0)){
              btnNovoEscal.enabled = true;
            }
         }

         //cria o modulo escalonado
         this.modEsc = new safm_1320_desconto_escal();
         this.vbMod2.addChild(this.modEsc);
      }


      /**
      * function showCadEscalonado()
      * Habilita a aba do cadstro escalonado e desabilita o botão da
aba 1
      */
      private function showCadEscalonado(event:MouseEvent):void{
        tnvContainer.selectedIndex = 1;
        tnvContainer.selectedChild.enabled = true;
        btnNovoEscal.enabled = false;
      }


      /**
      * function destroyModules()
      * verifica quais os módulos que estão carregados antes da
desativação.
      */
      private function destroyModules():void{
        //if(this.mlPesq1 != null) this.mlPesq1.unloadModule();
        //if(this.mlPesq2 != null) this.mlPesq2.unloadModule();

        if(this.modMsg != null) this.vbMod1.removeChild(this.modMsg);
        if(this.modEsc != null) this.vbMod2.removeChild(this.modEsc);
      }

      private function teste(event:MouseEvent):void{
        Alert.show('teste')
      }
  ]]>
</mx:Script>
        <mx:TabNavigator id="tnvContainer" x="10" y="10" width="730"
height="480" horizontalGap="3">
          <mx:VBox id="vbMod1" label="Detalhes da Mensagem" width="720"
height="475">
            <mx:Button label="Nova Mensagem Escalonada"
id="btnNovoEscal" click="showCadEscalonado(event)" enabled="false" />
          </mx:VBox>
          <mx:VBox id="vbMod2" label="Descontos Escalonados" width="720"
height="475" />
        </mx:TabNavigator>
</mx:Module>

o que me incomodou e nãoencontrei outra forma de fazer foi tentar
"tipar" a variável que receberia os módulos. Tentei colocar como
Object, mas não rolou, ai tive que usar "*" para que tudo funcionasse.
Se tiver mais alguma dica a respeito, agradeço muito.

Valew
[]'s

On 7 jan, 01:18, Eduardo Kraus <eduardokr...@gmail.com> wrote:
> Em módulos o *createComplete *é invocado apenas uma vês.
>
> Tente despachar um evento e escutar dentro deste módulo.
> *
> **Curso Adobe Flex focado em PHP – turma 
> 02http://www.adobeflex.com.br/cursos/adobe-flex-focado-em-php-turma-02*
> *
> Eduardo Kraus*
> Desenvolvedor
> eduardokr...@gmail.com
> blog.mxml.com.brwww.twitter.com/EduardoKraus
-- 
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