On Sun, 09 Aug 2009, AbeB wrote: Hi,
> i'm getting closer to the source of this bug. > the index will start from the current record if the last movement in the > Area was a Seek. > it will start from the beginning of the file if the last movement was a > Skip. > Remember this only happens on a remote connection. I'm afraid I cannot help you. I'm not ADS user and I do not have ADS remote server so I cannot replicate the problem and look for workaround. For me it looks like a problem with ADS/ACE not in Harbour. Probably the positioning is done locally by client only using some read ahead record buffer transferred to the client and server knows nothing about it. In such case the only one thing we can make is finding workaround to inform server about current record on client side (ACE library) to force processing from this record when subindex is created. You can ask about it on ADS list. ADS/ACE authors should give precise answer about the source of problem and possible workarounds. Or some users/developers with access to ADS server can try to find workaround themselves and add it to adsOrderCreate() in ads1.h. Maybe simple: { ULONG ulCurRec; SELF_RECNO( ( AREAP ) pArea, &ulCurRec ); SELF_GOTO( ( AREAP ) pArea, ulCurRec ); } at line 3806 just before AdsCreateIndex*() will be enough. You can check. Anyhow it will be good to hear ADS/ACE authors opinion. best regards, Przemek _______________________________________________ Harbour mailing list Harbour@harbour-project.org http://lists.harbour-project.org/mailman/listinfo/harbour