Hmm, since an RPC call is already performed, it looks like your problem may be in one of your child components. Try isolating the problem by temporarily replacing your child components with colored canvases, one by one; to see if it's really a currentState problem with your application or if it's happening in a nested component.
As Jeff indicates, spelling of the state names could also be the problem. I don't agree with show/hide or moving things around for things like this; because it defeats the benefits of deferred instantiation and gets really messy with a lot of views. But, for smaller applications, whatever works is perfectly fine. I know that you probably can't post the complete code, so it's a little hard to see exactly what's going on. So, good luck. -TH --- In flexcoders@yahoogroups.com, "Battershall, Jeff" <[EMAIL PROTECTED]> wrote: > > Something to take a look at is that if you've defined your states in design view, etc., it is possible that a UI component you're referring to hasn't been created yet, or something like that. What I like to do with states is to show/hide or move things around, but not to create or remove UI from the display list because you're going to have issues potentially with trying to refer to objects not created or have been removed. > > Remember you could simply have your login form created from the start and off to the left, hidden, if you have horizontalScrollPolicy set to "off". Then when you go into the login state, you simply move the form into view. > > Jeff > > -----Original Message----- > From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On Behalf Of Nicolas Boulet-Lavoie > Sent: Friday, April 25, 2008 2:47 PM > To: flexcoders@yahoogroups.com > Subject: RE: [flexcoders] Re: currentState question > > > > Hello, > > > > I'm still getting the same error, even if I put the currentState before the init method call. > > > > Here is the debug output : > > > > RangeError: Error #2006: L'index indiqué sort des limites. > > at flash.display::DisplayObjectContainer/addChildAt() > > at mx.core::Container/addChildAt() [E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\Container.as:2 206] > > at mx.states::RemoveChild/remove() [E:\dev\3.0.x\frameworks\projects\framework\src\mx\states\RemoveChild. as:146] > > at mx.core::UIComponent/removeState() [E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as :7169] > > at mx.core::UIComponent/commitCurrentState() [E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as :7011] > > at mx.core::UIComponent/setCurrentState() [E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as :6948] > > at mx.core::UIComponent/set currentState() [E:\dev\3.0.x\frameworks\projects\framework\src\mx\core\UIComponent.as :4260] > > at ApplicationReception/handFermerSession() [C:\__Projets\__Connect\ApplicationReception\src\ApplicationReception. as:407] > > at flash.events::EventDispatcher/dispatchEventFunction() > > at flash.events::EventDispatcher/dispatchEvent() > > at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::di spatchRpcEvent() [E:\dev\3.0.x\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:16 8] > > at mx.rpc::AbstractInvoker/http://www.adobe.com/2006/flex/mx/internal::re sultHandler() [E:\dev\3.0.x\frameworks\projects\rpc\src\mx\rpc\AbstractInvoker.as:19 1] > > at mx.rpc::Responder/result() [E:\dev\3.0.x\frameworks\projects\rpc\src\mx\rpc\Responder.as:41] > > at mx.rpc::AsyncRequest/acknowledge() [E:\dev\3.0.x\frameworks\projects\rpc\src\mx\rpc\AsyncRequest.as:74] > > at DirectHTTPMessageResponder/completeHandler() [E:\dev\3.0.x\frameworks\projects\rpc\src\mx\messaging\channels\Direct HTTPChannel.as:381] > > at flash.events::EventDispatcher/dispatchEventFunction() > > at flash.events::EventDispatcher/dispatchEvent() > > at flash.net::URLLoader/onComplete() > > > > > > Does it gives more infos? > > > > Thanks > > > > Nicolas > > > > De : flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] De la part de Tim Hoff > Envoyé : 25 avril 2008 14:18 > À : flexcoders@yahoogroups.com > Objet : [flexcoders] Re: currentState question > > > > Hey Nicolas, > > It douen't look like you're setting a base (starting) state for the > application. This would need to happen before creationComplete > (initialize); otherwise the application doesn't know which state to > render initially. See if this works: > > <mx:Application > xmlns:mx="http://www.adobe.com/2006/mxml" > xmlns:perso="components.*" > layout="absolute" > currentState="frmLogin" > creationComplete="init()"> > > -TH > > --- In flexcoders@yahoogroups.com <mailto:flexcoders% 40yahoogroups.com> , "Nicolas Boulet-Lavoie" > <nicolasboulet@> wrote: > > > > Derrick, > > > > > > > > Yes, even if I write : > > > > > > > > this.currentState = 'frmLogin'; > > > > > > > > I'm getting the same error. > > > > > > > > I will explain further my application design. > > > > > > > > <mx:Application > > > > xmlns:mx="http://www.adobe.com/2006/mxml" > > > > xmlns:perso="components.*" > > > > layout="absolute" > > > > creationComplete="init()"> > > > > > > > > On creationComplete event, it enters the init() method. > > > > > > > > public function init():void { > > > > this.currentState = 'frmLogin'; > > > > // Removed content // > > > > } > > > > > > > > So, as soon as the application load, it's not in the base state but > in > > another specified state (here, frmLogin). Is this design can cause > the above > > problem? > > > > > > > > The state switch is called in a callback method of a http service > object > > which is : > > > > > > > > private function handFermerSession (p_objEvent:ResultEvent):void { > > > > try { > > > > this.currentState = 'frmLogin'; > > > > } catch( err:Error ) { > > > > Alert.show(err.message.toString()); > > > > } > > > > } > > > > > > > > I hope it's more clear... > > > > > > > > Thanks > > > > > > > > Nicolas > > > > > > > > > > > > De : flexcoders@yahoogroups.com <mailto:flexcoders% 40yahoogroups.com> [mailto:flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> ] > De la > > part de Derrick Anderson > > Envoyé : 25 avril 2008 13:41 > > À : flexcoders@yahoogroups.com <mailto:flexcoders% 40yahoogroups.com> > > Objet : Re: [flexcoders] Re: currentState question > > > > > > > > i'm with ghus32, if you only have 2 states, why not just use the > > currentState = 'statename' ? do you still get an error with that? > > > > d. > > > > On Fri, Apr 25, 2008 at 1:22 PM, Nicolas Boulet-Lavoie > > <nicolasboulet@> wrote: > > > > Hello guys, > > > > > > > > Thank you for your quick reply. I'm still getting the 2006 error > even with > > your suggestions. > > > > > > > > Here is the structure of my states : > > > > > > > > - <Base state> > > > > o frmAppGestion > > > > o frmLogin (start) > > > > > > > > I try to reset the state when I'm in the frmAppGestion state. > > > > > > > > But, there is something weird with the state stack. In the state > manager, as > > you can see, there are 3 states (base, frmAppGestion and frmLogin). > > > > > > > > Here is my code : > > > > > > > > <mx:states> > > > > <mx:State name="frmAppGestion"> > > > > // Removed content // > > > > </mx:State> > > > > <mx:State name="frmLogin"> > > > > // Removed content // > > > > </mx:State> > > > > </mx:states> > > > > > > > > As you can see, they are only 2 states not 3. Maybe, this is the > problem? > > > > > > > > Thanks > > > > > > > > Nicolas > > > > > > > > De : flexcoders@yahoogroups.com <mailto:flexcoders% 40yahoogroups.com> [mailto:flexcoders@yahoogroups.com <mailto:flexcoders%40yahoogroups.com> ] > De la > > part de Andrew Wetmore > > Envoyé : 25 avril 2008 12:49 > > À : flexcoders@yahoogroups.com <mailto:flexcoders% 40yahoogroups.com> > > Objet : [flexcoders] Re: currentState question > > > > > > > > The other possibility is that the problem comes from using double > > quotation marks ("") instead of single(''). currentState likes > single > > quotation marks. > > > > --- In flexcoders@yahoogroups.com <mailto:flexcoders% 40yahoogroups.com> <mailto:flexcoders% > 40yahoogroups.com> , > > "Dmitri Girski" <mitek17@> wrote: > > > > > > Bonjour, > > > > > > I am pretty sure that this error comes as a consequence of > changing > > > the state. You should check what happens when you change the > state - > > > probably you trying to access an element which does not exist in > the > > > base state. > > > > > > Cheers, > > > Dmitri. > > > > > > > > > > > > > > > > > > --- In flexcoders@yahoogroups.com <mailto:flexcoders% 40yahoogroups.com> <mailto:flexcoders% > 40yahoogroups.com> , > > "Nicolas Boulet-Lavoie" > > > <nicolasboulet@> wrote: > > > > > > > > Hello, > > > > > > > > > > > > > > > > When I try to use this VERY easy command : > > > > > > > > > > > > > > > > currentState = "" > > > > > > > > > > > > > > > > I'm getting this error. > > > > > > > > > > > > > > > > Error #2006: L'index indiqu� sort des limites. > > > > > > > > > > > > > > > > Any idea why? > > > > > > > > > > > > > > > > -- > > > > > > > > Merci et bonne journ�e, > > > > > > > > > > > > > > > > Nicolas Boulet-Lavoie, Webmestre/Webmaster > > > > > > > > -------------------------------- > > > > > > > > L A P R I S E � > > > > > > > > T�l: 248-8886 poste 288 > > > > > > > > nicolasboulet@ > > > > > > > > > > > > > > > > http://www.maisonlaprise.com/ > > > > > > > > http://www.habitaflex.com/ > > > > > > > > http://www.lorendo.com/ > > > > > > > > http://www.tomindustries.com/ > > > > > > > > -------------------------------- > > > > > > >