From: Dave Francis on
Steve,

> Your head model is incorrect<g>
Not for the first time, and certainly not the last! :o)

> - is DBSetRestoreWorkArea() a method of the server or a compatability
> function for people who mix Clipper & VO syntax??

As I understand it, it restores the workarea swapping method used
prior to 2.8 for DBServers. I guess the way to fully understand it
would be to compare 2.5 and 2.8 SDKs, but this is from the WhatsNew...

<Quote>
The code in the RDD classes has been optimised. ... The developers
were also extremely careful in restoring work-areas in every method
call. We have made restoring work-areas optional. As a result you will
see faster code. However if you are mixing function/command style DBF
access with Object Oriented access you may want to enable the old
behaviour by calling DbSetRestoreWorkarea(TRUE).
<Unquote>

You can see why it might have an effect here.

HTH

Dave



Stephen Quinn wrote:
> Dave
>
> > The model I have in my head says that _FIELD->EntryNum will be
> > evaluated against the current work area, and will be evaluated before
> > ogHold:seek is called, so who's to say what area happens to be
> > selected then?
> Your head model is incorrect<g>
> Each DBServer has it's own defined workarea (held internally), look at the
> SDK code for DBserver{} that's why you NEVER have to select( aWorkArea )
> before using a dbserver.
>
> > 2.8 speeded up DBServer access by NOT automatically restoring
> > workareas after every every call (or something like that). Use
> > DBSetRestoreWorkArea(TRUE) to mimic the old 2.5 behaviour.
> I've never used 2.8, so my question
> - is DBSetRestoreWorkArea() a method of the server or a compatability
> function for people who mix Clipper & VO syntax??
>
> CYA
> Steve