Also bevor du dich daran machst, solltest du den Daten-Zugriff komplett einmal mit einer (oder auch mehrerer) Klasse(n) kapseln.
Dann im Code alle Zugriffe durch diese Klasse(n) führen.
Wenn das dann läuft, dann ziehst du dir davon eine abstrakte Klasse(n) und leitest die vorher erstellten davon ab.
Jetzt kannst du dir neue Klassen davon ableiten, nur das hier der Zugriff über die DevArt Komponenten läuft
Hier mal ein kleines Beispiel für einen Ansatz:
Delphi-Quellcode:
// Abstrakte Klasse
TMySQLAbstract =
class
public
procedure Connect;
virtual;
abstract;
procedure ExecQuery( AQuery : AnsiString; ACols : TCols; ARows : TRows );
virtual;
abstract;
procedure DisConnect;
virtual;
abstract;
end;
// konkrete MySQL-Native-Klasse
TMySQLNativeStore =
class( TMySQLAbstract )
private
FDB : TDB;
// ???
public
procedure Connect;
override;
procedure ExecQuery( AQuery : AnsiString; ACols : TCols; ARows : TRows );
override;
procedure DisConnect;
override;
end;
...
implementation
uses
mysql_native_unit;
TMySQLNativeStore.Connect;
begin
Connect;
end;
TMySQLNativeStore.ExecQuery;
begin
ExecQuery( FDB, AQuery, ACols, ARows );
end;
TMySQLNativeStore.Disconnect;
begin
Disconnect;
end;
BTW: Es ist nicht schlimm, wenn du nach der Umstellung diese Zwischenschicht weiterleben lässt.
Stell dir vor, die DevArt-Komponenten zicken rum oder gibt es für die Platform xy nicht ... dafür aber wieder ganz andere ... ei jo, einfach eine neue konkrete Ableitung und der Drops ist gelutscht