Browse Source

+ Patch from Micha Nelissen, fixing some Delphi compatibility issues

michael 22 years ago
parent
commit
b9c536242e
3 changed files with 28 additions and 9 deletions
  1. 10 2
      fcl/db/dataset.inc
  2. 17 2
      fcl/db/db.pp
  3. 1 5
      fcl/db/dbase/dbf.pas

+ 10 - 2
fcl/db/dataset.inc

@@ -437,6 +437,11 @@ begin
   //!! To be implemented
   //!! To be implemented
 end;
 end;
 
 
+Function TDataset.GetDataSource: TDataSource;
+begin
+  Result:=nil;
+end;
+
 Function TDataset.GetField (Index : Longint) : TField;
 Function TDataset.GetField (Index : Longint) : TField;
 
 
 begin
 begin
@@ -1558,7 +1563,7 @@ begin
     end;
     end;
 end;
 end;
 
 
-Procedure TDataset.Translate(Src, Dest: PChar; ToOem: Boolean);
+Function TDataset.Translate(Src, Dest: PChar; ToOem: Boolean): Integer;
 
 
 begin
 begin
   //!! To be implemented
   //!! To be implemented
@@ -1685,7 +1690,10 @@ end;
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.9  2003-10-06 17:04:28  florian
+  Revision 1.10  2003-11-09 21:23:10  michael
+  + Patch from Micha Nelissen, fixing some Delphi compatibility issues
+
+  Revision 1.9  2003/10/06 17:04:28  florian
     * small step towards calculated fields
     * small step towards calculated fields
 
 
   Revision 1.8  2003/05/06 12:08:52  michael
   Revision 1.8  2003/05/06 12:08:52  michael

+ 17 - 2
fcl/db/db.pp

@@ -86,6 +86,16 @@ type
     ftDataSet, ftOraBlob, ftOraClob, ftVariant, ftInterface,
     ftDataSet, ftOraBlob, ftOraClob, ftVariant, ftInterface,
     ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd);
     ftIDispatch, ftGuid, ftTimeStamp, ftFMTBcd);
 
 
+{ TDateTimeRec }
+
+  TDateTimeAlias = type TDateTime;
+  TDateTimeRec = record
+    case TFieldType of
+      ftDate: (Date: Longint);
+      ftTime: (Time: Longint);
+      ftDateTime: (DateTime: TDateTimeAlias);
+  end;
+
   TFieldDef = class(TComponent)
   TFieldDef = class(TComponent)
   Private
   Private
     FDataType : TFieldType;
     FDataType : TFieldType;
@@ -896,6 +906,7 @@ type
     procedure FreeRecordBuffer(var Buffer: PChar); virtual; abstract;
     procedure FreeRecordBuffer(var Buffer: PChar); virtual; abstract;
     procedure GetBookmarkData(Buffer: PChar; Data: Pointer); virtual; abstract;
     procedure GetBookmarkData(Buffer: PChar; Data: Pointer); virtual; abstract;
     function GetBookmarkFlag(Buffer: PChar): TBookmarkFlag; virtual; abstract;
     function GetBookmarkFlag(Buffer: PChar): TBookmarkFlag; virtual; abstract;
+    function GetDataSource: TDataSource; virtual;
     function GetFieldData(Field: TField; Buffer: Pointer): Boolean; virtual; abstract;
     function GetFieldData(Field: TField; Buffer: Pointer): Boolean; virtual; abstract;
     function GetRecord(Buffer: PChar; GetMode: TGetMode; DoCheck: Boolean): TGetResult; virtual; abstract;
     function GetRecord(Buffer: PChar; GetMode: TGetMode; DoCheck: Boolean): TGetResult; virtual; abstract;
     function GetRecordSize: Word; virtual; abstract;
     function GetRecordSize: Word; virtual; abstract;
@@ -960,12 +971,13 @@ type
     procedure Refresh;
     procedure Refresh;
     procedure Resync(Mode: TResyncMode); virtual;
     procedure Resync(Mode: TResyncMode); virtual;
     procedure SetFields(const Values: array of const);
     procedure SetFields(const Values: array of const);
-    procedure Translate(Src, Dest: PChar; ToOem: Boolean); virtual;
+    function  Translate(Src, Dest: PChar; ToOem: Boolean): Integer; virtual;
     procedure UpdateCursorPos;
     procedure UpdateCursorPos;
     procedure UpdateRecord;
     procedure UpdateRecord;
     property BOF: Boolean read FBOF;
     property BOF: Boolean read FBOF;
     property Bookmark: TBookmarkStr read GetBookmarkStr write SetBookmarkStr;
     property Bookmark: TBookmarkStr read GetBookmarkStr write SetBookmarkStr;
     property CanModify: Boolean read GetCanModify;
     property CanModify: Boolean read GetCanModify;
+    property DataSource: TDataSource read GetDataSource;
     property DefaultFields: Boolean read FDefaultFields;
     property DefaultFields: Boolean read FDefaultFields;
     property EOF: Boolean read FEOF;
     property EOF: Boolean read FEOF;
     property FieldCount: Longint read GetFieldCount;
     property FieldCount: Longint read GetFieldCount;
@@ -1462,7 +1474,10 @@ end.
 
 
 {
 {
   $Log$
   $Log$
-  Revision 1.11  2003-10-06 17:04:27  florian
+  Revision 1.12  2003-11-09 21:23:10  michael
+  + Patch from Micha Nelissen, fixing some Delphi compatibility issues
+
+  Revision 1.11  2003/10/06 17:04:27  florian
     * small step towards calculated fields
     * small step towards calculated fields
 
 
   Revision 1.10  2003/08/16 16:42:21  michael
   Revision 1.10  2003/08/16 16:42:21  michael

+ 1 - 5
fcl/db/dbase/dbf.pas

@@ -407,12 +407,8 @@ type
     function CreateBlobStream(Field: TField; Mode: TBlobStreamMode): TStream; override; {virtual}
     function CreateBlobStream(Field: TField; Mode: TBlobStreamMode): TStream; override; {virtual}
 {$ifdef DELPHI_3}
 {$ifdef DELPHI_3}
     procedure Translate(Src, Dest: PChar; ToOem: Boolean); override; {virtual}
     procedure Translate(Src, Dest: PChar; ToOem: Boolean); override; {virtual}
-{$else}
-{$ifdef fpc}
-    procedure Translate(Src, Dest: PChar; ToOem: Boolean); override; {virtual}
 {$else}
 {$else}
     function Translate(Src, Dest: PChar; ToOem: Boolean): Integer; override; {virtual}
     function Translate(Src, Dest: PChar; ToOem: Boolean): Integer; override; {virtual}
-{$endif}
 {$endif}
 {$endif}
     procedure ClearCalcFields(Buffer : PChar); override;
     procedure ClearCalcFields(Buffer : PChar); override;
   protected
   protected
@@ -1813,7 +1809,7 @@ begin
   end else result:=0;
   end else result:=0;
 end;
 end;
 {$else}
 {$else}
-procedure TDbf.Translate(Src, Dest: PChar; ToOem: Boolean); {override virtual}
+function TDbf.Translate(Src, Dest: PChar; ToOem: Boolean): Integer; {override virtual}
 begin
 begin
 end;
 end;
 {$endif}
 {$endif}