Hallo,
zum Messen der Geschwindigkeit nehme ich meine
Unit-Tests (dunit).
einmal mit
BDE kompiliert -> 10 Minuten
einmal mit FIBPLUS kompiliert -> 15 Minuten
Vor dem Messen wird
FB beendet.
Das ist aber nicht so tragisch,
weil ein normales Programm nie diese Menge
SQL-Statements ausführt.
Zur Portierung.
Mein Programm läuft jetzt mit
IFDEF BDE als
BDE-Programm,
per
IFDEF FIBPLUS als FIBPlus-Programm.
Solange nicht die ganzen Anwendungstests (nicht per dunit möglich)
durch sind, läuft es halt noch mit der
BDE.
Dazu musste natürlich der komplette Quellcode von TQuery "erlöst" werden.
Es wird jetzt immer TBaseQuery benutzt usw,
d.h. einmal musste ich schon komplett durch.
Delphi-Quellcode:
unit BaseQry0;
interface
uses
Classes,
DB,
{$IFDEF BDE}
DBTables,
{$ENDIF}
{$IFDEF FIBPLUS}
pFIBDataSet,
{$ENDIF}
jifQry_Types;
{$IFDEF BDE}
type
TBaseQuery =
class(TQuery)
end;
{ TBaseQuery }
{$ENDIF}
{$IFDEF FIBPLUS}
type
TBaseQuery =
class(TpFIBDataSet)
end;
{$ENDIF}
Noch ein bissel "AutoTransaction" (explizit Transaktionen)
der
BDE nachgebaut (wobei das TpFIBDataSet irgendwie schon was drin hat)
Die paar RecordCount-Fehler noch behoben
Aus Params[0] -> Fields[0] usw.
Wird alles von den
Unit-Tests gefunden.
Hat übrigens jemand Interesse an einem Tutorial
BDE->FIBPlus ?
Heiko