Browse Source

fcl-db: sdfdataset: implement BookmarkValid; revealed by test TestBookmarkValid

git-svn-id: trunk@30505 -
lacak 10 years ago
parent
commit
9568f728f7
1 changed files with 6 additions and 0 deletions
  1. 6 0
      packages/fcl-db/src/sdf/sdfdata.pp

+ 6 - 0
packages/fcl-db/src/sdf/sdfdata.pp

@@ -208,6 +208,7 @@ type
       write FDefaultRecordLength default 250;
     constructor Create(AOwner: TComponent); override;
     destructor  Destroy; override;
+    function  BookmarkValid(ABookmark: TBookmark): Boolean; override;
     function  GetFieldData(Field: TField; Buffer: Pointer): Boolean; override;
     procedure RemoveBlankRecords; dynamic;
     procedure RemoveExtraColumns; dynamic;
@@ -772,6 +773,11 @@ begin
     end
 end;
 
+function TFixedFormatDataSet.BookmarkValid(ABookmark: TBookmark): Boolean;
+begin
+  Result := Assigned(ABookmark) and (FData.IndexOfObject(TObject(PPtrInt(ABookmark)^)) <> -1);
+end;
+
 procedure TFixedFormatDataSet.InternalGotoBookmark(ABookmark: Pointer);
 var
   Index: Integer;