BINGO!!! Your information is just what I needed! My child apps couldn't access certain objects that were instantiated by another child app. As a 'proof of concept' I created some dummy variables in my parent app that were objects used in my child apps (private var aaa:ComponentInChildren), so then the child apps had access to the objects, and VOILA! It worked!
Now I just need to implement the child and parent apps in a more acceptable fashion. Thanks so much! --- In flexcoders@yahoogroups.com, "Alex Harui" <[EMAIL PROTECTED]> wrote: > > Please see my blog post about shared code for modules at > http://blogs.adobe.com/aharui > > > > The same applies for SWFLoaders. > > > > -Alex > > > > ________________________________ > > From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On > Behalf Of tyriker > Sent: Tuesday, March 13, 2007 11:54 AM > To: flexcoders@yahoogroups.com > Subject: [flexcoders] Re: Runtime Error Painting Screen for Embedded App > > > > Something further I've found that may at least indicate where the > error is: If I just include 1 copy of the reporting app in my 'parent' > app. It runs fine everytime (other than the other 3 quadrants are > blank). If I embed just two copies of the app, the runtime error > occurs maybe 50% of the time. > > Am I doing this wrong, or taking the wrong approach to it? I have one > fully functional Flex 2.0.1 (w/ charting) app, and I'm attempting to > load that app into a 'parent' app 4 separate times, using SWFLoader. > Is there something wrong with this, because it doesn't work for me. I > have a feeling if I could serialize all of the actions of the embedded > apps, things would work fine, but I haven't found a straight-forward > way of doing this yet. > > By serializing, I mean: Create SWFLoader1, load app into SWFLoader, > trigger load function, trigger application complete function, make > function call into loaded app, loaded app changes states and paints > new screen for its quadrant, repeat for SWFLoader2, SWFLoader3, > SWFLoader4... > > Currently, it seems like the SWFLoaders all load up their copies of > the apps, and move along in the process at their own pace, and if more > than one of them attempt to change state/paint their quadrant at the > same time, a runtime error occurs. Progmatically, what am I doing > wrong? I guess I assumed Flex would handle the 4 apps independently, > so they wouldn't step on each other? Or is the 'parent' app > responsible for painting the quadrants, and so I can't have any of the > embedded apps attempt to update their screen (their quadrant) at the > same time that another app is doing it? > > Sorry for the long post, but I'm just trying to find some information > to get me on the right path for a solution. Thanks. > > Tyler > > --- In flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> > , "tyriker" <tyriker@> wrote: > > > > I've tried finding a solution to this for about two weeks now, and am > > at wits end. > > > > I have a reporting app that upon creationComplete retrieves an XML > > file via an HTTPService, switches states to display a BarChart, builds > > barSeries objects and adds them to the chart, and is then done. > > > > The app as a stand-alone Flex app works fine. I then built a second > > app, and using SWFLoader, load the first app 4 times into the second > > app (makes a dashboard-type app). > > > > About 90% of the time, I receive the following error at runtime. > > > > ************ > > TypeError: Error #1034: Type Coercion failed: cannot convert > > mx.core::[EMAIL PROTECTED] to mx.core.IFactory. > > at mx.charts.series::BarSeries/get legendData() > > at mx.charts.chartClasses::ChartBase/get legendData() > > at mx.charts::Legend/::populateFromArray() > > at mx.charts::Legend/mx.charts:Legend::commitProperties() > > at mx.core::UIComponent/validateProperties() > > at mx.managers::LayoutManager/::validateProperties() > > at mx.managers::LayoutManager/::doPhasedInstantiation() > > at Function/http://adobe.com/AS3/2006/builtin::apply > <http://adobe.com/AS3/2006/builtin::apply> () > > at mx.core::UIComponent/::callLaterDispatcher2() > > at mx.core::UIComponent/::callLaterDispatcher() > > ************ > > > > The other 10% of the time, 4 different charts will show up as > > expected. The problem seems related to the Flash/Flex player > > attempting to draw the charts into the app. Anyone have any ideas I > > could try? I've tried a number of things that haven't resolved this > yet. > > > > One interesting thing I found in troubleshooting this: I changed the > > reporting app's starting state to the chart state (so it doesn't have > > to change state). The runtime error that show up in this instance is: > > > > ************ > > TypeError: Error #1034: Type Coercion failed: cannot convert > > mx.graphics::[EMAIL PROTECTED] to mx.graphics.IStroke. > > at mx.charts::AxisRenderer/mx.charts:AxisRenderer::measure() > > at mx.core::UIComponent/::measureSizes() > > at mx.core::UIComponent/validateSize() > > at mx.managers::LayoutManager/validateClient() > > at mx.core::UIComponent/validateNow() > > at mx.core::UIComponent/::creationCompleteHandler() > > at > > > flash.events::EventDispatcher/flash.events:EventDispatcher::dispatchEven > tFunction() > > at flash.events::EventDispatcher/dispatchEvent() > > at mx.core::UIComponent/dispatchEvent() > > at mx.core::UIComponent/set initialized() > > at mx.managers::LayoutManager/::doPhasedInstantiation() > > at Function/http://adobe.com/AS3/2006/builtin::apply > <http://adobe.com/AS3/2006/builtin::apply> () > > at mx.core::UIComponent/::callLaterDispatcher2() > > at mx.core::UIComponent/::callLaterDispatcher() > > ************ > > > > ANYTHING would be helpful at this point. Thanks! > > >