* changed tbookmark to tbytes, bookmarkstr to ansistring. Delphi 2009+ compat.

git-svn-id: trunk@21037 -
This commit is contained in:
marco 2012-04-25 16:51:05 +00:00
parent 5f93d9992a
commit 8f39076a69
3 changed files with 18 additions and 8 deletions

View File

@ -2713,13 +2713,13 @@ end;
function TCustomBufDataset.BookmarkValid(ABookmark: TBookmark): Boolean;
begin
Result:=assigned(FCurrentIndex) and FCurrentIndex.BookmarkValid(ABookmark);
Result:=assigned(FCurrentIndex) and FCurrentIndex.BookmarkValid(pointer(ABookmark));
end;
function TCustomBufDataset.CompareBookmarks(Bookmark1, Bookmark2: TBookmark
): Longint;
begin
if Assigned(FCurrentIndex) and FCurrentIndex.CompareBookmarks(Bookmark1,Bookmark2) then
if Assigned(FCurrentIndex) and FCurrentIndex.CompareBookmarks(pointer(Bookmark1),pointer(Bookmark2)) then
Result := 0
else
Result := -1;

View File

@ -1790,7 +1790,9 @@ Procedure TDataset.FreeBookmark(ABookmark: TBookmark);
begin
FreeMem(ABookMark,FBookMarkSize);
{$ifdef noautomatedbookmark}
FreeMem(ABookMark,FBookMarkSize);
{$endif}
end;
Function TDataset.GetBookmark: TBookmark;
@ -1799,8 +1801,12 @@ Function TDataset.GetBookmark: TBookmark;
begin
if BookmarkAvailable then
begin
GetMem (Result,FBookMarkSize);
GetBookMarkdata(ActiveBuffer,Result);
{$ifdef noautomatedbookmark}
GetMem (Result,FBookMarkSize);
{$else}
setlength(Result,FBookMarkSize);
{$endif}
GetBookMarkdata(ActiveBuffer,pointer(Result));
end
else
Result:=Nil;
@ -1859,7 +1865,7 @@ begin
begin
CheckBrowseMode;
DoBeforeScroll;
InternalGotoBookMark(ABookMark);
InternalGotoBookMark(pointer(ABookMark));
Resync([rmExact,rmCenter]);
DoAfterScroll;
end;

View File

@ -1243,9 +1243,13 @@ type
end;
{ TDataSet }
{$ifdef noautomatedbookmark}
TBookmark = Pointer;
TBookmarkStr = string;
{$else}
TBookMark = TBytes;
{$endif}
TBookmarkStr = ansistring;
PBookmarkFlag = ^TBookmarkFlag;
TBookmarkFlag = (bfCurrent, bfBOF, bfEOF, bfInserted);