Guess I'm right!!.

But anyway, I'm writing a "buffer" between the HistoryManager and
Application in which I store my Model-state(Object). 

But but I still got this weird problem with the first save I make and
if I push the back button the state (yes the normal procedure with
strings) is undefined. 

For example i save twice an object in an array and than I store the
index in the state Object I want to store.

var state:Object = new Object();
state.currentIndex =this.historyArray.length-1;

When I trace this action the result is:

CurrentIndex: 0
CurrentIndex: 1

Now I push the back button and the loadstate is executed. When I trace
the incoming state object:

Log.debug("state: "+state);
Log.dump(state);

first back :

DEBUG: state: [object Object]

<< DUMP START >> 
 this:Object
|        currentIndex = 0  (string)

Second back:

DEBUG: state: undefined

<< DUMP START >> 
 this = undefined  (undefined)

On the third back:
it's a new request or nothing. This is the expected result.

It's link it's out of sync or something.Twice the saveState is
executed and twice the loadState is executed. What is wrong with it.

Please anybody....




--- In flexcoders@yahoogroups.com, "rockmoyosa" <[EMAIL PROTECTED]> wrote:
> I'm beginning to get the idee that this part of Flex is pushed in 1.5
> (Or what version it was introduced). No documentation is minimal so
> are the supported functionality. 
> 
> I hope somebody can prove me wrong.....
> 
> be continued??
> 
> 
> --- In flexcoders@yahoogroups.com, "rockmoyosa" <[EMAIL PROTECTED]> wrote:
> > --- In flexcoders@yahoogroups.com, "rockmoyosa" <[EMAIL PROTECTED]>
wrote:
> > > This "thing" is really weird:
> > > 
> > > first save state:
> > > 
> > > DEBUG: ----- saveState ----
> > > 
> > > << DUMP START >> 
> > >  this:Object
> > > |        view = false  (boolean)
> > > |        detailId = 7bd21a76-b716-4501-a196-1acf4265d847  (string)
> > > 
> > > 
> > > And if I click on "Back":
> > > 
> > > DEBUG: ----- loadState ----
> > > 
> > > << DUMP START >> 
> > >  this:Object
> > > |        detailId = 7bd21a76-b716-4501-a196-1acf4265d847  (string)
> > > |        view = true  (string)
> > > 
> > > What the @[EMAIL PROTECTED] view = true??? mmmm... More documentation on 
> > > the
> > > HistoryManager would be appreciated. Are perhaps more samples. 
> > > 
> > > I found one but it to damn "simple" it doesn't say anything on how
> > > it's working only how to use it for simple things.
> > > 
> > >
> >
>
http://www.richinternet.de/blog/index.cfm?mode=entry&entry=3CF01C8E-CFBB-A5CA-36BCC797581D2CFB
> > > 
> > > 
> > > 
> > > --- In flexcoders@yahoogroups.com, "jacksodj" <[EMAIL PROTECTED]> wrote:
> > > > I personnaly have seen really flakey behavior from that history 
> > > > controller. I have posted before, but have not been able to see a 
> > > > good resolution
> > > > --- In flexcoders@yahoogroups.com, "rockmoyosa" <[EMAIL PROTECTED]> 
> > > > wrote:
> > > > > My case:
> > > > > 
> > > > > - saveState is executed 
> > > > > - On "Back" loadState is executed.
> > > > > 
> > > > > But.....
> > > > > Than my state is "undefined"
> > > > > 
> > > > > 
> > > > > private var changed:Boolean;
> > > > >       
> > > > >       public function initHistory():Void {
> > > > >               mx.managers.HistoryManager.register(this);
> > > > >               storeInternalState();
> > > > >       }
> > > > >       
> > > > >       public function saveState():Object {
> > > > >               // called by HistoryManager, tells the component
> > > > >               // to create a "state" object and to return it\
> > > > >               var state = new Object();
> > > > >               state.model = Model.getInstance();
> > > > >               state.view = this._scope.m_detailview;
> > > > >               
> > > > >               mx.controls.Alert.show
> > > > (""+this._scope.m_detailview.visible);
> > > > >               Log.debug("hello"+state);
> > > > >               return state;
> > > > >       }
> > > > >       
> > > > >       public function loadState(state:Object):Void {
> > > > >               // called by HistoryManager, passes in a state
> > > > >               // object so the component can rebuild it's state
> > > > >               mx.controls.Alert.show("state: "+state.view);
> > > > >               restoreInternalState(state);
> > > > >       }
> > > > >       
> > > > >       public function savePresent():Void {
> > > > >               storeInternalState( );
> > > > >       }
> > > > > 
> > > > >       public function storeInternalState():Void {
> > > > >               mx.managers.HistoryManager.save();
> > > > >       }
> > > > >       
> > > > >       public function restoreInternalState(state:Object):Void {
> > > > >               Log.dump(state);
> > > > >               Log.debug
> > > > ("@@@@state.view.visible@@@@: "+state.view.visible);
> > > > >               
> > > > >               if(state.view.visible == true && 
> > > > this._scope.m_detailview.visible ==
> > > > > false ||
> > > > >                                       state.view.visible == false 
> > > > &&
> > > > > this._scope.m_detailview.visible == true){
> > > > >                       toggleView();
> > > > >               }
> > > > >               Model.getInstance().restoreInstance(state.model);
> > > > >       }




--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/flexcoders/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply via email to