Ok,
Now debuggin I just had one of those dev flashes.
The problem is, the operation reference was not fixed a reference. So it was
the actually operation that was going out of scope.
So the fix for now was;
public function loadModule(url:String, parent:Container,
domain:ApplicationDomain):void
{
trace("CoreShellController.loadModule()")
currentOperation = modulesService.loadModule(url, parent, domain);
performModuleOperation(currentOperation);
}
In the controller, I just saved the instance of the operation while it was
executing.
Before I had;
public function loadModule(url:String, parent:Container,
domain:ApplicationDomain):void
{
trace("CoreShellController.loadModule()")
performModuleOperation(
modulesService.loadModule(url, parent, domain));
}
Problem solved for now, thanks again Alex.
Peace, Mike
On 6/14/07, Michael Schmalle <[EMAIL PROTECTED]> wrote:
Thanks you Alex.
Now I really understand what is going on.
I actually ran into this problem when I was using a ModuleOperation class
that is in a service design pattern.
The operation calls getModule(), and I actually did what you mentioned in
that class. I took it from local to a public var.
But in the operation class, I still have it in an event.target reference
that comes back to the controller but, the operation instance is not
handling the READY. The operation class goes out of scope once the execute()
method finishes with a call to module.load().
Any suggestions?
Peace, Mike
On 6/14/07, Alex Harui <[EMAIL PROTECTED]> wrote:
>
> We fixed a bug in HotFix2 and Moxie where modules didn't unload.
> Now, if you don't keep a handle to the module it won't load because as soon
> as it finished, GC runs and if there is no handle to it, it goes away.
>
>
>
> Var module:IModuleInfo was your only handle but it is local so as soon
> as it goes out of scope it can go away.
>
> Move it to an instance variable and you'll be fine.
>
>
> ------------------------------
>
> *From:* [email protected] [mailto: [EMAIL PROTECTED]
> *On Behalf Of *Michael Schmalle
> *Sent:* Thursday, June 14, 2007 2:15 PM
> *To:* [email protected]
> *Subject:* [flexcoders] Flex3 :: ModuleManager :: not dispatching READY
>
>
>
> Hi,
>
> I have this simple setup;
>
> A module in ;
>
> /modules/HelloWorldModule.swf
>
> in creation complete in the main application;
>
> private function creatModule():void
> {
> var module:IModuleInfo = ModuleManager.getModule
> ("modules/HelloWorldModule.swf");
> module.addEventListener(ModuleEvent.READY, readyHandler)
> module.load();
> }
>
> private function readyHandler(event:ModuleEvent):void
> {
> trace("READY")
> }
>
> When I test the project, I get...
>
> [SWF] modules/HelloWorldModule.swf - 504,327 bytes after decompression
>
> I cannot for the life of me get READY to be dispatched.
>
> PROGRESS works fine, and it shows the whole swf being loaded.
>
> It has been a few since I used module manager, is there anything I am
> missing?
>
> Peace, Mike
>
> --
> Teoti Graphix
> http://www.teotigraphix.com
>
> Blog - Flex2Components
> http://www.flex2components.com
>
> You can find more by solving the problem then by 'asking the question'.
>
>
>
--
Teoti Graphix
http://www.teotigraphix.com
Blog - Flex2Components
http://www.flex2components.com
You can find more by solving the problem then by 'asking the question'.
--
Teoti Graphix
http://www.teotigraphix.com
Blog - Flex2Components
http://www.flex2components.com
You can find more by solving the problem then by 'asking the question'.