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

Reply via email to