0 Replies Latest reply on Jul 4, 2012 8:48 PM by aktell2007

    AS3 code change over to Switch / Case ....

    aktell2007 Level 1

      Hi there,

      I have this code which I have used for a long time in my AIR Apps which have a few modules only, but I wanted to test it and maybe use it also now in my other Flex Apps, but here I have many modules and I can't find the right approach to converting this code into something like a Switch / case to be able to cut down on code lines and have this working effectively there also !

      Any help would be appreciated I have tried a few things yet always seem to get stuck.

       

      The code I have used until now and which worked very well in AIR Apps:

       

      <mx:Script>
      <![CDATA[
      
      protected function modIntro_activateHandler(event:Event):void {
      
      var loaded:Boolean;
      var childDomain:ApplicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain);
      
      if (loaded) unload(); else load();
      
      function load():void {
      
      loaded = true;
      
      modIntroStep.applicationDomain = childDomain;
      modIntroStep.loadModule("StepIntroGeneralENE.swf");
      
      loaded = false;
      childDomain = null;
      
      }
      
      function unload():void {
      
      loaded = false;
      
      modIntroStep.applicationDomain = null;
      modIntroStep.unloadModule();
      
      /* loaded = false; */
      childDomain = null;
      
      modIntroStep.deleteReferenceOnParentDocument(this);
      
      startGCCycle();
      
      }
      }
      ]]>
      </mx:Script>
      
      <mx:ModuleLoader id="modIntroStep"/>
      

       

      The code for the next module would be more or less the same:

       

      <mx:Script>
      <![CDATA[
      
      protected function modStep1_activateHandler(event:Event):void {
      
      var loaded:Boolean;
      
      var childDomain:ApplicationDomain = new ApplicationDomain(ApplicationDomain.currentDomain);
      
      if (loaded) unload(); else load();
      
      function load():void {
      
      loaded = true;
      
      modStep1.applicationDomain = childDomain;
      modStep1.loadModule("StepIntroGeneralDEE.swf");
      
      loaded = false;
      childDomain = null;
      
      }
      
      function unload():void {
      
      loaded = false;
      
      modStep1.applicationDomain = null;
      
      modStep1.unloadModule();
      
      /* loaded = false; */
      childDomain = null;
      
      modStep1.deleteReferenceOnParentDocument(this);
      
      startGCCycle();
      
      }
      }
      ]]>
      </mx:Script>
      
      <mx:ModuleLoader id="modStep1"/>