Hi all,

Im still stuck with this... anybody know solution for this?

On Thu, Jan 27, 2011 at 5:26 PM, Flex Hatter <flex.hat...@gmail.com> wrote:

> Hi all,
>
> I'm trying to use module in flex. I tried create a header module which is
> loaded by the main
> application and should update the image component in the header. I have
> posted my code
> below. I cannot update the image component in header, please help me in
> fixing the code and
> suggest me if any better way.
>
> *index.mxml*
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml";
>     backgroundColor="#f2f2f2" backgroundAlpha="1"
>     layout="absolute" width="1000" height="800"
>     creationComplete="init()">
>     <mx:Script>
>         <![CDATA[
>             import mx.controls.Alert;
>             import com.jpl.modules.*;
>             import mx.events.ModuleEvent;
>             import mx.modules.ModuleManager;
>             import mx.modules.IModuleInfo;
>
>             private var moduleInfo:IModuleInfo;
>             private function init():void{
>                 loadHeader();
>             }
>
>             private var jpl_head:Object;
>             //loading header into application
>             private function loadHeader():void{
>                 mod_progress.visible = true;
>                 moduleInfo = ModuleManager.getModule(
> "com/jpl/modules/headerMod.swf" );
>                    moduleInfo.addEventListener( ModuleEvent.READY,
> onHeaderModuleReady);
>                    moduleInfo.addEventListener(ModuleEvent.ERROR,
> handleHeaderModuleError);
>                    moduleInfo.addEventListener(ModuleEvent.PROGRESS,
> onHeaderModuleProgress);
>                    moduleInfo.load();
>             }
>                protected function onHeaderModuleReady(
> moduleEvent:ModuleEvent ):void{
>                    jpl_head = moduleInfo.factory.create() as headerMod;
>                 mod_holder.addChild(moduleInfo.factory.create() as
> DisplayObject);
>                 mod_progress.label = ""
>                 mod_progress.visible = false;
>             }
>                protected function handleHeaderModuleError(
> moduleEvent:ModuleEvent ):void{
>                 throw new Error( "Module error loading : " +
> moduleEvent.module.url );
>                }
>             protected function onHeaderModuleProgress(
> moduleEvent:ModuleEvent ):void{
>                 mod_progress.label = 'Loading Header';
>                 mod_progress.setProgress( moduleEvent.bytesLoaded,
> moduleEvent.bytesTotal );
>             }
>         ]]>
>     </mx:Script>
>
>     <mx:Canvas id="mod_holder">
>     </mx:Canvas>
>
>     <mx:ProgressBar id="mod_progress"
>         width="300" indeterminate="true"
>         trackHeight="5" labelPlacement="top"
>         label="Loading .."/>
>     <mx:Button x="143" y="154" label="Button"
> click="jpl_head.changeUserPic('video_icon.png');"/>
>
> </mx:Application>
>
> *headerMod.mxml*
> <?xml version="1.0" encoding="utf-8"?>
> <mx:Module xmlns:mx="http://www.adobe.com/2006/mxml"; layout="absolute">
>     <mx:Script>
>         <![CDATA[
>             [Embed(source="assets/images/jpl_head.png")]
>             [Bindable]
>             public var headerImgCls:Class;
>
>             public function changeUserPic(picUrl:String):void{
>                 userPics.source = picUrl;
>             }
>         ]]>
>     </mx:Script>
>     <mx:Canvas>
>         <mx:Image id="hdImg" width="1000" height="75"
> source="{headerImgCls}"/>
>         <mx:Image id="userPics" x="924" y="9"
>             width="54" height="54"/>
>     </mx:Canvas>
> </mx:Module>
>
> *Error on clicking button in index.mxml*
> TypeError: Error #1009: Cannot access a property or method of a null object
> reference.
>     at
> com.jpl.modules::headerMod/changeUserPic()[E:\FlexTraining\jlp\src\com\jpl\modules\headerMod.mxml:10]
>     at
> index/___index_Button1_click()[E:\FlexTraining\jlp\src\index.mxml:56]
>
>
>

-- 
You received this message because you are subscribed to the Google Groups "Flex 
India Community" group.
To post to this group, send email to flex_india@googlegroups.com.
To unsubscribe from this group, send email to 
flex_india+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/flex_india?hl=en.

Reply via email to