Hey Alex,

Thanks for your reply.

I solved my issue. for some reason my custom component never got it's 
systemManager set. This is not a problem when all you add to the component are 
Hboxes or labels apparently, but as soon as you add an image the systemManager 
must be set.
All i did was to set it manually in the preinitialize event handler of my 
weather component :

this.systemManager = this.parentDocument.systemManager.

After that it worked like a charm!

Do you know when the systemManager is set in the components lifecycle? Maybe it 
wasn't set because my creation policy was set to "none" ... just a wild guess 
really :-)

Thanks for your help,

Tony.

--- In [email protected], Alex Harui <aha...@...> wrote:
>
> Maybe IDSWeather::init() is being called before IDSWeather has been added as 
> a child to a container.
> 
> Alex Harui
> Flex SDK Developer
> Adobe Systems Inc.<http://www.adobe.com/>
> Blog: http://blogs.adobe.com/aharui
> 
> From: [email protected] [mailto:[email protected]] On 
> Behalf Of gordofeatherfoot
> Sent: Monday, July 13, 2009 8:52 AM
> To: [email protected]
> Subject: [flexcoders] Issue adding an Image component to a custom component
> 
> 
> 
> 
> 
> Hello,
> 
> I have a problem that is not so easy to expose so please bare with me.
> 
> I have a Component class written is AS3 which extends the Canvas Class. I 
> then have a weather component written in mxml that uses as a base the the 
> Component class. ie my weather component.mxml looks something like this:
> 
> <components:Component
> xmlns:components="net.zzzzzz.components.*"
> xmlns:mx="http://www.adobe.com/2006/mxml";
> verticalScrollPolicy="off" horizontalScrollPolicy="off"
> preinitialize="onPreInitialize()">
> ...
> ...
> <script .........>
> <mx:HBox id="hbxBackground" width="256" height="120" />
> 
> <mx:HBox id="hbxInnerFrame" x="15" y="15" width="226" height="50"/>
> 
> <mx:HBox id="hbxBottom" x="15" y="65" width="226" height="40"/>
> 
> <mx:HBox id="hbxMiddle" x="15" y="40" width="226" height="40"/>
> 
> <mx:Label id="lblLocation" x="15" y="12" width="226"/>
> 
> <mx:Image id="meteoImg" x="56" y="63" /> -----> this causes the error !
> 
> <mx:Label id="lblTemperature" x="132" y="40" width="100"/>
> 
> <mx:Label id="lblDayTitle" x="15" y="78" width="226"/>
> </components:Component>
> 
> This weather component is compiled into a swf seperatly from my main app.
> In my main app I load the weather component definition from the swf with a 
> loader. I instantiate this weather component (by extracting it's definition 
> through the loader) and add it to the stage.
> 
> When adding it to the stage i get the following error:
> 
> TypeError: Error #1009: Cannot access a property or method of a null object 
> reference.
> at 
> mx.controls::SWFLoader/addedToStageHandler()[C:\autobuild\3.3.0\frameworks\projects\framework\src\mx\controls\SWFLoader.as:1990]
> at flash.display::DisplayObjectContainer/addChildAt()
> at 
> mx.core::UIComponent/http://www.adobe.com/2006/flex/mx/internal::$addChildAt()[C:\autobuild\3.3.0\frameworks\projects\framework\src\mx\core\UIComponent.as:5083]
> at 
> mx.core::Container/addChildAt()[C:\autobuild\3.3.0\frameworks\projects\framework\src\mx\core\Container.as:2215]
> at 
> mx.core::Container/addChild()[C:\autobuild\3.3.0\frameworks\projects\framework\src\mx\core\Container.as:2140]
> at 
> mx.core::Container/createComponentFromDescriptor()[C:\autobuild\3.3.0\frameworks\projects\framework\src\mx\core\Container.as:3681]
> at 
> mx.core::Container/createComponentsFromDescriptors()[C:\autobuild\3.3.0\frameworks\projects\framework\src\mx\core\Container.as:3493]
> at 
> IDSWeather/init()[/Users/bounce/Documents/IdScreen/Components/src/IDSWeather.mxml:375]
> 
> This error happens when flex is trying to add the Image component that i 
> defined in the mxml of the weather component. Specifically this error happens 
> in SWFLoader in the following function:
> 
> private function addedToStageHandler(event:Event):void
> {
> systemManager.getSandboxRoot().addEventListener(InterManagerRequest.DRAG_MANAGER_REQUEST,
> mouseShieldHandler, false, 0, true);
> }
> 
> Here 'systemManager' is null and i don't understand why.
> 
> Any help would be very much appreaciated.
> 
> Many thanks,
> Bounce.
>


Reply via email to