- Код: Выделить всё
type
TOraConnection = class(TSQLConnection)
protected
procedure DoInternalConnect; override;
procedure DoInternalDisconnect; override;
function GetHandle: Pointer; override;
function AllocateCursorHandle: TSQLCursor; override;
function AllocateTransactionHandle:TSQLHandle; override;
procedure CloseStatement(cursor : TSQLCursor); override;
procedure PrepareStatement(cursor: TSQLCursor; ATransaction: TSQLTransaction; buf: string; AParams: TParams); override;
procedure FreeFldBuffers(cursor : TSQLCursor); override;
procedure Execute(cursor: TSQLCursor;atransaction:tSQLtransaction; AParams : TParams); override;
procedure AddFieldDefs(cursor: TSQLCursor;FieldDefs : TfieldDefs); override;
function Fetch(cursor : TSQLCursor) : boolean; override;
function LoadField(cursor : TSQLCursor;FieldDef : TfieldDef;buffer : pointer) : boolean; override;
function GetTransactionHandle(trans : TSQLHandle): pointer; override;
function Commit(trans : TSQLHandle) : boolean; override;
function RollBack(trans : TSQLHandle) : boolean; override;
function StartdbTransaction(trans : TSQLHandle) : boolean; override;
procedure CommitRetaining(trans : TSQLHandle); override;
procedure RollBackRetaining(trans : TSQLHandle); override;
procedure UpdateIndexDefs(var IndexDefs : TIndexDefs;TableName : string); override;
function GetSchemaInfoSQL(SchemaType : TSchemaType; SchemaObjectName, SchemaPattern : string) : string; override;
function CreateBlobStream(Field: TField; Mode: TBlobStreamMode): TStream; override;
public
constructor Create(AOwner : TComponent); override;
published
property DatabaseName;
property KeepConnection;
property LoginPrompt;
property Params;
property OnLogin;
end;
При режиме совместимости delphi все компилируется без ошибок. В режиме objfpc компилятор выдает следующие сообщения:
oraconnection.pas(33,17) Error: There is no method in an ancestor class to be overridden: "TOraConnection.PrepareStatement(TSQLCursor, TSQLTransaction, ShortString, TParams)"
oraconnection.pas(45,17) Error: There is no method in an ancestor class to be overridden: "TOraConnection.UpdateIndexDefs(var TIndexDefs, ShortString)"
oraconnection.pas(46,16) Error: There is no method in an ancestor class to be overridden: "TOraConnection.GetSchemaInfoSQL(TSchemaType, ShortString, ShortString):ShortString"
oraconnection.pas(60,1) Fatal: There were 3 errors compiling module, stopping
oraconnection.pas(60,1) Error: Compilation aborted
В модуле ibconnection.pp используется режим совместимости objfpc, модуль компилируется без ошибок?!