I did that too, in fact I explained it in the first mail, when I tried: moduleInfo.load(new ApplicationDomain(ApplicationDomain.currentDomain))
it dispatches a ModuleEvent.ERROR saying that file isn't a loadable module or something like that. Also i tried var somObj:SomeInterface = module.factory.create as SomeInterface var somObj:Object = module.factory.create; var somObj:*= module.factory.create; when loading using moduleInfo.load(); On Wed, Aug 19, 2009 at 1:19 AM, Alex Harui <aha...@adobe.com> wrote: > > > If you use “new ApplicationDomain()” then module.factory.create() will > return an object of an unknown type because you’ve created a whole new > applicationDomain with different classes so the type of what you create is > not going to match. Your code probably does this: > > > > var somObj:SomeInterface = module.factory.create as > SomeInterface > > > > So the “as” returns null. > > > > With modules you must use a child applicationdomain i.e. “new > ApplicationDomain(applicationDomain.currentDomain)” so that the interface is > shared. The next trick is to get the ModuleManager to attempt a second load > in a separate child applicationdomain so fake url params might work. As > long as the singletons are not in the main app, each child appdomain should > have its own singleton. > > > > Alex Harui > > Flex SDK Developer > > Adobe Systems Inc. <http://www.adobe.com/> > > Blog: http://blogs.adobe.com/aharui > > > > *From:* flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] *On > Behalf Of *Everson Alves > *Sent:* Tuesday, August 18, 2009 5:28 PM > > *To:* flexcoders@yahoogroups.com > *Subject:* Re: [flexcoders] Singletons and Modules - Application domain > problem > > > > > > The problem is that when I try to load it into a different > applicationDomain other than ApplicationDomain.currentDomain , even the > first instance won't load. > ModuleEvent.READY is dispatched but moduleEvent.module.factory.create() > gives me null. > > > On Tue, Aug 18, 2009 at 8:45 PM, Alex Harui <aha...@adobe.com> wrote: > > > > A module is a factory of potentially many instances, so multiple requests > to load the same url are ignored and the same factory is returned to create > the instance. You might try adding dummy url variables to see if you can > fool ModuleManager into loading the module SWF again. > > > > Alex Harui > > Flex SDK Developer > > Adobe Systems Inc. <http://www.adobe.com/> > > Blog: http://blogs.adobe.com/aharui > > > > *From:* flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] *On > Behalf Of *Everson Alves > *Sent:* Tuesday, August 18, 2009 4:38 PM > *To:* flexcoders@yahoogroups.com > *Subject:* Re: [flexcoders] Singletons and Modules - Application domain > problem > > > > > > It's a good post but doesn't solve my problem without a lot of changes in > the whole application. What i was really wanting from here is to know why I > can't load the modules into different application domains. I'll use a > ModelLocator factory per conversation instead of Singleton, but that > requires changing in a lot of places, mainly propageting the conversationId > all components and classes that need to access the modelLocator. > > On Tue, Aug 18, 2009 at 6:35 PM, Everson Alves <jho...@eversonalves.com.br> > wrote: > > I'll have a look at it say the outcome here. Thanks. > > > > On Tue, Aug 18, 2009 at 6:03 PM, Rick Winscot <rick.wins...@zyche.com> > wrote: > > > > Take a look at a good write-up by Steve Brownlee... > > > http://www.fusioncube.net/index.php/cairngorm-sharing-a-common-modellocator-with-modules > > With the added security restrictions... Your singleton implementation may > need to be hardened to prevent multiple instance... Etc. This example may > help as well. > > http://www.quilix.com/node/5 > > Cheers, > > Rick Winscot > > > > > > On 8/15/09 12:11 PM, "Everson Alves" <jho...@eversonalves.com.br> wrote: > > > > > > Hello guys, > > I'm facing a weird problem. I'm working with flex Modules that are tide > mxml components . Using ModuleManager to load the modules. If I load using > moduleInfo.load(ApplicationDomain.currentDomain) it loads fine but as I want > to use the module as independent sub applications and they use the same > class definitions that doens't play nice with singletons (ModelLocator) . > When loading using moduleInfo.load() expecting that it uses it's own > ApplicationDomain it loads, dispatches ModuleEvent.READY event but > moduleEvent.module.factory.create() gives me null. I also tried > moduleInfo.load(new ApplicationDomain(ApplicationDomain.currentDomain)) but > this case dispatches a ModuleEvent.ERROR saying that file isn't a loadable > module or something like that. An detail that might be important is that the > module is marked to be optimized to my application in compilation. > > thanks in advance. > > > > > > -- > Jhonny Everson > > > > > -- > Jhonny Everson > > > > > > > -- > Jhonny Everson > > > > > -- Jhonny Everson