From 7f98e3c670bf15e4815c03fd591dfa2bb2cf4031 Mon Sep 17 00:00:00 2001 From: joost Date: Thu, 27 Nov 2008 12:14:47 +0000 Subject: 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 --- packages/fcl-db/src/base/dataset.inc | 70 ++++++++++++++++++++++++++++++++++++ packages/fcl-db/src/base/db.pas | 38 ++++++++++---------- 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; -- cgit v1.2.1