Roger, I used your suggestion about storing the open module data in an array then pulling up the details when I need it for unload or other operations. Works great. Thanks again.
Aaron --- In [email protected], "Roger Gonzalez" <[EMAIL PROTECTED]> wrote: > > The module manager knows what modules have been loaded, but it doesn't > provide an iterator. > > If you know the URLs, you can check a given module's load status. It is > harmless (other than creating some cached state) to probe a given URL > before you call "load". > > Removing the tab (and ensuring that you have no other references to the > child control) will only cause instance data to be GC'ed, not the > underlying bytecode. > > The module's code will never get fully recycled unless you call > "unload", because there is a ModuleInfo reference handing onto its > internal module class factory (in case there is a subsequent need to > reuse it). > > -rg > > > ________________________________ > > From: [email protected] > [mailto:[EMAIL PROTECTED] On Behalf Of aaronvm707 > Sent: Monday, March 05, 2007 10:40 AM > To: [email protected] > Subject: [flexcoders] Re: Managing Multiple Modules > > > > Roger, thank you for your quick response. > > Does the module factory hold information (module ID, URL etc...) > > about the modules I have loaded? > > How important is it to unload modules? If I remove a specific > tab > from the navigator will GC eventually clean up the child module > on > that tab? > > Aaron > > --- In [email protected] > <mailto:flexcoders%40yahoogroups.com> , "Roger Gonzalez" <rgonzale@> > wrote: > > > > The URL for a given module is a unique key for the module at > that > URL, > > no matter how many times you get it. Each time you get a > ModuleInfo, > > you can use it to request an unload. (Note that unload just > makes > > things available for GC, it does not force things to unload.) > > > > There's no reason why you need to always put the module info > into a > > single variable though, of course its going to get overridden. > You > > could always keep an array of module infos. Or, you can just > call > > getModule again. No big deal. > > > > -rg > > > > > > ________________________________ > > > > From: [email protected] > <mailto:flexcoders%40yahoogroups.com> > > [mailto:[email protected] > <mailto:flexcoders%40yahoogroups.com> ] On Behalf Of aaronvm707 > > Sent: Sunday, March 04, 2007 10:13 PM > > To: [email protected] > <mailto:flexcoders%40yahoogroups.com> > > Subject: [flexcoders] Managing Multiple Modules > > > > > > > > Hello, I am trying to create an application that has a tab > > navigator > > that gets loaded with different modules, similar to a browser > > window > > opening multiple tabs. I have tried different methods but do > not > > know > > how to get a reference to a module to unload it once multiple > > modules > > have been loaded. This is the code I am using to load the > > modules: > > > > public var info:IModuleInfo; > > > > private function LoadModule(strUrl:String):void > > { > > info = ModuleManager.getModule(strUrl); > > > > info.addEventListener(ModuleEvent.READY, modEventHandler); > > info.load(); > > } > > private function modEventHandler(e:ModuleEvent):void > > { > > var m:Module = info.factory.create() as Module; > > myTabs.addChild(m); > > } > > > > This code works very well to load as many modules as I need. > The > > > > problem is the public var info gets updated as each new module > > get > > loaded. So I do I get an IModuleInfo object for a module that > > has > > already been loaded that I can then call the unload() method. > > Please > > any help or suggestions would be greatly appreciated. Thanks > > > > Aaron > > >

