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.