Alex, I made a test case and also managed to get it to work. I realized two things about the process. Within the main application I load the module one (red) and module one loads module two (green).
Module one needs to be cast as a ModuleLoader in the ready event handler in the Main application in order for module two have a non null pointer. You also seem to have to have the ModuleLoader in the main application cast as the same Interface as the one module two implements. I am not sure why though. Changing either one of these parameters will produce the null pointer. I have a working version of the test case posted, the zip file contains both module one and module two project zip files as well. Example: http://thanksmister.com/moduletest/main.html --- In flexcoders@yahoogroups.com, "Alex Harui" <[EMAIL PROTECTED]> wrote: > > Can you post a test case? > > > ________________________________ > > From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On > Behalf Of Michael Ritchie > Sent: Thursday, April 05, 2007 11:00 AM > To: flexcoders@yahoogroups.com > Subject: [flexcoders] Re: Module Interface Problems > > > > Alex, > > Lol, you said "tickling", haha. Yes, this is within the same domain. > Everything resides within the bin file of the main application, same > level. It was loaded just fine and dispatched the progress and ready > events. When you say "main class", do you meant the Module that is > loading the second module. I got a little lost ModuleLoader loading > ModuleLoaders module... makes my head spin. > > -Mike > > --- In flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> > , "Alex Harui" <aharui@> wrote: > > > > If you don't make an instance of the main class in your module which > > gets around to tickling the module's ModuleLoader, that ModuleLoader > > won't load its module. Did you see it get loaded and dispatch READY? > > > > This is all within a single domain right? > > > > ________________________________ > > > > From: flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> > [mailto:flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> > ] On > > Behalf Of Michael Ritchie > > Sent: Wednesday, April 04, 2007 12:40 PM > > To: flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> > > Subject: [flexcoders] Re: Module Interface Problems > > > > > > > > In my context, a module loading another module using ModuleLoader. > > The reference to the child of the ModuleLoader is always null. I have > > even set up a timer event that keeps checking back to see if the child > > is not null. Is there something specific about what I am trying to > > do that would cause the child to be null? > > > > - Mike > > > > --- In flexcoders@yahoogroups.com > <mailto:flexcoders%40yahoogroups.com> > <mailto:flexcoders%40yahoogroups.com> > > , "Alex Harui" <aharui@> wrote: > > > > > > ModuleLoader is a convenience container. It loads in the module via > > > ModuleManager and when READY, it starts to create the children. If > you > > > listen to READY you may see it before moduleloader had a chance to > see > > > it and create the child. > > > > > > -Alex > > > > > > ________________________________ > > > > > > From: flexcoders@yahoogroups.com > <mailto:flexcoders%40yahoogroups.com> > <mailto:flexcoders%40yahoogroups.com> > > [mailto:flexcoders@yahoogroups.com > <mailto:flexcoders%40yahoogroups.com> > <mailto:flexcoders%40yahoogroups.com> > > ] On > > > Behalf Of Michael Ritchie > > > Sent: Tuesday, April 03, 2007 1:04 PM > > > To: flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> > <mailto:flexcoders%40yahoogroups.com> > > > Subject: [flexcoders] Re: Module Interface Problems > > > > > > > > > > > > I ruled out the timing issue, but your post has some great > information > > > how to handle this. I think I have isolated the specific module > > > loading issue to one factor. I have a module that loads another > > > module using a <mx:ModuleLoader> and I am trying to access the > second > > > ModuleLoader child through the interface. I can't seem get a > > > reference to the child of the second ModuleLoader, it always reports > > > null. I have a successfully loaded a module and talked using the > > > interface, but if move this within the context of another module, I > > > get the null reference. > > > > > > --- In flexcoders@yahoogroups.com > <mailto:flexcoders%40yahoogroups.com> > > <mailto:flexcoders%40yahoogroups.com> > > <mailto:flexcoders%40yahoogroups.com> > > > , "- FI / Jonas Eliasson +" > > > <jonas.eliasson@> wrote: > > > > > > > > That sounds like a still existing Flash issue if you try to load a > > > swf that > > > > has a shared library attached to it. Then you will get a loaded > > > callback > > > > before it's actually loaded. So in Flash you can check on the > loaded > > > event > > > > if current frame == 0. In that case you can't access any > properties > > > and no > > > > code will be executed yet. But you can still write to the object. > In > > > our > > > > scenario we have attached a callback event method. So when the swf > > > is really > > > > loaded it will check if the callback exist and then execute it. > > > Which will > > > > tell the loader that it's ready to be initiated. Something similar > > > should be > > > > easy to implement on the module but not with a check for a frame > > > number :-) > > > > . Should be a better solution for this. I don't want to go back to > > > old Flash > > > > hacks hehe. > > > > > > > > > > > > > > > > //as2 example > > > > > > > > private function onLibraryLoaded(libraryClip:MovieClip, > > > cb:CallBack):Void { > > > > > > > > var me:SharedLibraryLoader = getInstance(); > > > > > > > > if(libraryClip._currentframe == 0){ > > > > > > > > libraryClip.onComplete = new CallBack(me, > > > me.onLibraryInitiated, > > > > null, cb); > > > > > > > > }else > > > > > > > > onLibraryInitiated(libraryClip, cb); > > > > > > > > } > > > > > > > > _____ > > > > > > > > From: flexcoders@yahoogroups.com > <mailto:flexcoders%40yahoogroups.com> > > <mailto:flexcoders%40yahoogroups.com> > > <mailto:flexcoders%40yahoogroups.com> > > > [mailto:flexcoders@yahoogroups.com > <mailto:flexcoders%40yahoogroups.com> > > <mailto:flexcoders%40yahoogroups.com> > > <mailto:flexcoders%40yahoogroups.com> > > > ] On > > > > Behalf Of Michael Ritchie > > > > Sent: den 3 april 2007 11:24 > > > > To: flexcoders@yahoogroups.com > <mailto:flexcoders%40yahoogroups.com> > <mailto:flexcoders%40yahoogroups.com> > > <mailto:flexcoders%40yahoogroups.com> > > > > Subject: [flexcoders] Re: Module Interface Problems > > > > > > > > > > > > > > > > From my experience there is a definite timing issue when loading > > > > modules. The ModuleLoader ready event is fired before the Module > is > > > > fully loaded and you have the ability to talk to it through a > common > > > > interface (hence the error reporting access to a null value). > > > > > > > > I would term this one as a "bug" that is not yet documented by > > Adobe. > > > > This could be because some modules take longer than expected to > > load, > > > > I have no idea, just the observed problem with talking with > modules > > > > within the "ready". I also attempted to use an interface to talk > > with > > > > a module when the the progress event had reached 100%, but still > no > > > > luck. > > > > > > > > A possible workaround would be to fire some event from inside the > > > > loaded module that tells the outside world that it is indeed > loaded. > > > > > > The other option is to set a timer interval and keep checking if > the > > > > module is loaded (meaning not reporting NULL in the ready event > > > > handler). Unless someone else as a viable solution? Adobe? Anyone? > > > > > > > > - mr > > > > > > > > --- In [EMAIL PROTECTED] <mailto:flexcoders%40yahoogroups.com> > > > ups.com, > > > > "kristian_wright2002" > > > > <karnal69@> wrote: > > > > > > > > > > *BUMP* > > > > > > > > > > Anyone have any ideas? I still haven't found a solution... > > > > > > > > > > K. > > > > > > > > > > > > > > >