Subject Re: [IBO] Report Builder / IBO
Author Jason Wharton
Thanks for the prompt response!

Please try this one as well. I tinkered a little more with it.

function TIBODataset.BookmarkValid( ABookmark: TBookmark ): Boolean;
var
BS: string;
NR: TIB_NodeRef;
begin
Result := Assigned( ABookmark );
if Result then
with InternalDataset.NodeList do
if ( FilterDel and ( BofRef.DelCnt + EofRef.DelCnt > 0 )) or
( Filtered and ( BofRef.FilCnt + EofRef.FilCnt > 0 )) then
begin
SetLength( BS, BookmarkSize );
Move( ABookmark^, BS[1], BookmarkSize );
InternalDataset.KeyFields.RowData := BS;
if LookupNode( KeyFields.RowBuffer, true, NR ) then
Result := not (( rfDeleted in NR.Node.RowFlags ) and FilterDel )
and
not (( rfFiltered in NR.Node.RowFlags ) and Filtered );
end;
end;

I made it this way so that it would be more efficient.

Jason Wharton
CPS - Mesa AZ
http://www.ibobjects.com