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 [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/flex_india?hl=en.

