Thank you for responding , interesting but not really what I'm looking for. Your example makes it 'tightly coupled' ( if thats the correct terminology :) ) .. ie. Application relies on comp1 being a child and also having a 'fired' method.
The ultimate goal is to have a bunch of 'panels' that will 'refresh' their data based on a 'global' timer .. My concern was using the 'Application.application' for the addListener but I guess thats what I'm trying to 'capture' - ie. an event thats dispatched from the 'Application' .. --- In [email protected], Bjorn Schultheiss <[EMAIL PROTECTED]> wrote: > > How about this > > <?xml version="1.0" encoding="utf-8"?> > <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" > layout="absolute" xmlns:ns1="*" creationComplete="init()"> > > <mx:Script> > <![CDATA[ > import flash.utils.Timer; > import flash.events.TimerEvent; > > private function init():void > { > var timer:Timer = new Timer(1000); > timer.addEventListener( TimerEvent.TIMER, > comp1.fired ); > timer.start(); > } > ]]> > </mx:Script> > > <ns1:PanelComp id="comp1" /> > > </mx:Application> > > > <?xml version="1.0" encoding="utf-8"?> > <mx:Panel xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" > width="400" height="300"> > <mx:Script> > <![CDATA[ > public function fired( e:TimerEvent ):void > { > trace('fired'); > } > ]]> > </mx:Script> > </mx:Panel> > > > > On 29/03/2007, at 11:21 AM, iilsley wrote: > > > > > Thanks for the response .. > > This is the code that I have ( it works ) but is it the right way > > to do it :) .. > > > > <?xml version="1.0" encoding="utf-8"?> > > <mx:Application > > xmlns:mx="http://www.adobe.com/2006/mxml" > > layout="absolute" > > creationComplete="init()" > > width="100%" height="100%" xmlns:ns1="*"> > > <mx:Script> > > <![CDATA[ > > import flash.utils.Timer; > > import flash.events.Event; > > private var cnt:int=0; > > > > public var tm:Timer = new Timer(1000,0); > > private function init():void > > { > > tm.addEventListener(TimerEvent.TIMER,fired); > > tm.start(); > > } > > > > public function fired(Timer:TimerEvent):void > > { > > dispatchEvent(Timer); > > t.text = (++cnt).toString(); > > } > > ]]> > > </mx:Script> > > > > <mx:Text id="t" text="here"/> > > <ns1:myPanel x="145" y="95"> > > </ns1:myPanel> > > </mx:Application> > > > > and then the myPanel.mxml source > > > > <?xml version="1.0" encoding="utf-8"?> > > <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" > > creationComplete="init()" width="100" height="100"> > > > > <mx:Script> > > <![CDATA[ > > import mx.core.Application; > > import flash.events.TimerEvent; > > > > private var cnt:int=0; > > private function init():void > > { Application.application.addEventListener(TimerEvent.TIMER,fired); > > } > > > > private function fired(e:TimerEvent):void > > { > > t2.text = "myPanel "+(++cnt).toString(); > > } > > ]]> > > </mx:Script> > > <mx:Text id="t2" text="here"/> > > </mx:Canvas> > > > > --- In [email protected], "Tracy Spratt" <tspratt@> wrote: > > > > > > If an event "bubbles" you can listen for it in any ancestor, like > > > Application.application. > > > > > > > > > > > > Look at the docs for the timer event, to se if if bubbles. If it > > does > > > not, in the timer component, re-dispatch an event, setting the > > second > > > argument to true, to make it bubble. > > > > > > > > > > > > Tracy > > > > > > > > > > > > ________________________________ > > > > > > From: [email protected] > > [mailto:[EMAIL PROTECTED] On > > > Behalf Of iilsley > > > Sent: Tuesday, March 27, 2007 11:50 PM > > > To: [email protected] > > > Subject: [flexcoders] newbie question: Timer across components.. > > > > > > > > > > > > > > > Is it possible to have a Timer in one component and have another > > > component > > > execute a function when that timer fires ? > > > > > > eg: > > > > > > Comp1 has a timer set for 3 seconds .. > > > > > > In Comp2 I want to 'capture' the TimerEvent.TIMER from Comp1 to > > execute > > > a function defined in Comp2.. > > > > > > --- > > > I currently have something working but I kinda feel its just not the > > > right way .. :) .. > > > > > > In Comp2 I have > > > > > > Application.application.ti.addEventListener(TimerEvent.TIMER,fired); > > > > > > where 'ti' is the Timer . > > > > > > Is there a better way to listen for the event ? > > > > > > > > > Thanks > > > > > > > > > >

