Subject RE: [IBO] Bug? TIB_Query.locate - AbortFetching failing
Author Jason Wharton
Gunther,

In the absence of a sample app, I think it is worth having you try guarding
that call with a check of the fetching aborted level condition. If fetching
has been aborted then there is no reason to check for a match on the node
list.

See my code change below and please test it and tell me if it works.


while ( not Assigned( FKeyLookupRef.Node )) and
( not Result ) and
( not CursorEof ) and
( FAGen = FetchingAbortedGen ) and
( curCursorGen = FCursorGen ) do
begin
Inc( tmpRow );
SysFetchNext;
if tmpCurLevel = FKeyLookupMaxLevel then
begin
if tmpRow <> CursorRowNum then
begin
// Somehow (via callbacks) there were additional fetches
// performed that did not pass through the code below to
check
// for a match. So, by checking the nodelist we see if the
// match slipped by.
if ( FAGen = FetchingAbortedGen ) then
SysLookupNodeList
else
Break;
end
...
end;
...
end;


Hope this helps,
Jason Wharton