summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjoost <joost@3ad0048d-3df7-0310-abae-a5850022a9f2>2008-11-27 12:14:47 +0000
committerjoost <joost@3ad0048d-3df7-0310-abae-a5850022a9f2>2008-11-27 12:14:47 +0000
commit7f98e3c670bf15e4815c03fd591dfa2bb2cf4031 (patch)
tree97fae510dc15346d87fc799ff84674c01db2d6e8
parentce0b7270cc4f93540883f2b6ff58383c1926514b (diff)
downloadfpc-7f98e3c670bf15e4815c03fd591dfa2bb2cf4031.tar.gz
Implemented the as abstract defined methods of TDataset as empty stubs as listed in bug 12136 for Delphi compatibility
git-svn-id: http://svn.freepascal.org/svn/fpc/trunk@12245 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r--packages/fcl-db/src/base/dataset.inc70
-rw-r--r--packages/fcl-db/src/base/db.pas38
2 files changed, 89 insertions, 19 deletions
diff --git a/packages/fcl-db/src/base/dataset.inc b/packages/fcl-db/src/base/dataset.inc
index 0245642246..6bf2fd8c0e 100644
--- a/packages/fcl-db/src/base/dataset.inc
+++ b/packages/fcl-db/src/base/dataset.inc
@@ -504,6 +504,31 @@ begin
Result:=nil;
end;
+function TDataSet.GetRecordSize: Word;
+begin
+ Result := 0;
+end;
+
+procedure TDataSet.InternalAddRecord(Buffer: Pointer; AAppend: Boolean);
+begin
+ // empty stub
+end;
+
+procedure TDataSet.InternalDelete;
+begin
+ // empty stub
+end;
+
+procedure TDataSet.InternalFirst;
+begin
+ // empty stub
+end;
+
+procedure TDataSet.InternalGotoBookmark(ABookmark: Pointer);
+begin
+ // empty stub
+end;
+
function TDataSet.GetFieldData(Field: TField; Buffer: Pointer): Boolean;
begin
@@ -973,6 +998,16 @@ begin
ShowException(ExceptObject,ExceptAddr);
end;
+procedure TDataSet.InternalInitRecord(Buffer: PChar);
+begin
+ // empty stub
+end;
+
+procedure TDataSet.InternalLast;
+begin
+ // empty stub
+end;
+
procedure TDataSet.InternalPost;
Procedure Checkrequired;
@@ -992,6 +1027,21 @@ begin
Checkrequired;
end;
+procedure TDataSet.InternalSetToRecord(Buffer: PChar);
+begin
+ // empty stub
+end;
+
+procedure TDataSet.SetBookmarkFlag(Buffer: PChar; Value: TBookmarkFlag);
+begin
+ // empty stub
+end;
+
+procedure TDataSet.SetBookmarkData(Buffer: PChar; Data: Pointer);
+begin
+ // empty stub
+end;
+
procedure TDataSet.SetUniDirectional(const Value: Boolean);
begin
FIsUniDirectional := Value;
@@ -1322,6 +1372,26 @@ begin
// Empty Abstract
end;
+function TDataSet.AllocRecordBuffer: PChar;
+begin
+ Result := nil;
+end;
+
+procedure TDataSet.FreeRecordBuffer(var Buffer: PChar);
+begin
+ // empty stub
+end;
+
+procedure TDataSet.GetBookmarkData(Buffer: PChar; Data: Pointer);
+begin
+ // empty stub
+end;
+
+function TDataSet.GetBookmarkFlag(Buffer: PChar): TBookmarkFlag;
+begin
+ Result := bfCurrent;
+end;
+
Function TDataset.ControlsDisabled: Boolean;
begin
diff --git a/packages/fcl-db/src/base/db.pas b/packages/fcl-db/src/base/db.pas
index 880960d1ef..923aa25199 100644
--- a/packages/fcl-db/src/base/db.pas
+++ b/packages/fcl-db/src/base/db.pas
@@ -1233,30 +1233,30 @@ type
property CalcFieldsSize: Longint read FCalcFieldsSize;
property InternalCalcFields: Boolean read FInternalCalcFields;
property Constraints: TCheckConstraints read FConstraints write FConstraints;
- protected { abstract methods }
- function AllocRecordBuffer: PChar; virtual; abstract;
- procedure FreeRecordBuffer(var Buffer: PChar); virtual; abstract;
- procedure GetBookmarkData(Buffer: PChar; Data: Pointer); virtual; abstract;
- function GetBookmarkFlag(Buffer: PChar): TBookmarkFlag; virtual; abstract;
+ function AllocRecordBuffer: PChar; virtual;
+ procedure FreeRecordBuffer(var Buffer: PChar); virtual;
+ procedure GetBookmarkData(Buffer: PChar; Data: Pointer); virtual;
+ function GetBookmarkFlag(Buffer: PChar): TBookmarkFlag; virtual;
function GetDataSource: TDataSource; virtual;
+ function GetRecordSize: Word; virtual;
+ procedure InternalAddRecord(Buffer: Pointer; AAppend: Boolean); virtual;
+ procedure InternalDelete; virtual;
+ procedure InternalFirst; virtual;
+ procedure InternalGotoBookmark(ABookmark: Pointer); virtual;
+ procedure InternalHandleException; virtual;
+ procedure InternalInitRecord(Buffer: PChar); virtual;
+ procedure InternalLast; virtual;
+ procedure InternalPost; virtual;
+ procedure InternalSetToRecord(Buffer: PChar); virtual;
+ procedure SetBookmarkFlag(Buffer: PChar; Value: TBookmarkFlag); virtual;
+ procedure SetBookmarkData(Buffer: PChar; Data: Pointer); virtual;
+ procedure SetUniDirectional(const Value: Boolean);
+ protected { abstract methods }
function GetRecord(Buffer: PChar; GetMode: TGetMode; DoCheck: Boolean): TGetResult; virtual; abstract;
- function GetRecordSize: Word; virtual; abstract;
- procedure InternalAddRecord(Buffer: Pointer; AAppend: Boolean); virtual; abstract;
procedure InternalClose; virtual; abstract;
- procedure InternalDelete; virtual; abstract;
- procedure InternalFirst; virtual; abstract;
- procedure InternalGotoBookmark(ABookmark: Pointer); virtual; abstract;
- procedure InternalHandleException; virtual;
- procedure InternalInitFieldDefs; virtual; abstract;
- procedure InternalInitRecord(Buffer: PChar); virtual; abstract;
- procedure InternalLast; virtual; abstract;
procedure InternalOpen; virtual; abstract;
- procedure InternalPost; virtual;
- procedure InternalSetToRecord(Buffer: PChar); virtual; abstract;
+ procedure InternalInitFieldDefs; virtual; abstract;
function IsCursorOpen: Boolean; virtual; abstract;
- procedure SetBookmarkFlag(Buffer: PChar; Value: TBookmarkFlag); virtual; abstract;
- procedure SetBookmarkData(Buffer: PChar; Data: Pointer); virtual; abstract;
- procedure SetUniDirectional(const Value: Boolean);
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;