hi
i don't know weather its help full for you .

place the button inside the module and get the URL from the parent
application and set inside the module as shown below


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;
                        }
                        private function asssignData():void
                        {
                                userPics.source=parentApplication.getURL();
                        }
                ]]>
        </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:Button x="143" y="154" label="Button" click="asssignData()"/>
        </mx:Canvas>
</mx:Module>



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"
        xmlns:view="com.jpl.view.*" 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);
                                trace('Module successfully loaded : '+ 
moduleEvent.module.url);
                                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{
                                trace( "Downloading Module : "+ 
moduleEvent.module.url );
                                mod_progress.label = 'Loading Header';
                                mod_progress.setProgress( 
moduleEvent.bytesLoaded,
moduleEvent.bytesTotal );
                        }
                        public function getURL():String
                        {
                                return 'video_icon.png';
                        }

                ]]>
        </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:Application>



is this help full for u?




On Feb 10, 4:44 pm, Flex Hatter <[email protected]> wrote:
> I'm attaching the flex project archive of the above project.
> I'm still stuck in the same place. Can anybody help me...
> Flex 3.5 file
>
>
>
>
>
>
>
> On Fri, Feb 4, 2011 at 6:05 PM, Flex Hatter <[email protected]> wrote:
> > Thanks for that.
> > I have tried debugging also.... What I have understood looking into that
> > is,
> > inside the module the image components 'userPics' is not a image component
> > instead it is a object with null assigned to it. I think thats the reason
> > it is saying
> > 'Cannot access a property or method of a null object reference'
>
> > I have tried checking examples in the internet I found many examples where
> > they will
> > be accessing function and variables inside the module and that is working
> > for me too.
> > Have ever tried accessing UI component in module from main application.
>
> > On Fri, Feb 4, 2011 at 12:51 PM, Kronos <[email protected]> wrote:
>
> >> Sorry cant help u much... the code looks fine. However my guess is
> >> that your module is not getting loaded for some reason.
> >> Why dont u debug the code and see if ur onHeaderModuleReady function
> >> is getting called or not. The most likely expanation is that it isnt
> >> and because of that ur variable jpl_head never gets initialized.
> >> Another thing that u can see before debugging is when the application
> >> loads is the default image (jpl_head.png) getting displayed on the
> >> screen. If it is then there is something else wrong in the code and u
> >> wont find out without debugging.
>
> >> Sorry if I am stating the obvious.
>
> >> On Feb 3, 8:57 pm, Flex Hatter <[email protected]> wrote:
> >> > Hi all,
>
> >> > Im still stuck with this... anybody know solution for this?
>
> >> > On Thu, Jan 27, 2011 at 5:26 PM, Flex Hatter <[email protected]>
> >> 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 [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.
>
>
>
>  jlp2.zip
> 200KViewDownload

-- 
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.

Reply via email to