für meine quasi allgemeine Anbindung an SQL Datenbanken habe ich je ein Datenmodul für SQLDB und ZEOS und eine Unit in der ein Zugriffsobjekt zur Laufzeit erstellt wird.
Nun ist sehr viel Code (ggfs mit keinen Änderungen) in allen drei Units gleich.
Klar kann man versuchen möglichst viele der Funktionen und Prozeduren und eine eigene Unit auszulagern, aber immer gelingt das nicht oder nicht gut.
Des weitern kann man versuchen, mit include Dateien zu arbeiten wobei das immer wieder ein Gefrickel mit den Funktions-Deklarationen und den Funktionsrümpfen ist. (oder ich habe es nicht wirklich durchschaut)
Jetzt bin ich aber kein Pascal-Guru der die Sprache bis ins letzte Eck kennt.
Daher meine Frage ob es irgend eine andere elegante Methode gibt, die ich übersehen habe?
Soweit das ohne Beispielcode möglich ist.
PS: da kommt dann noch ein Aspekt dazu -- nachdem das Package auch für jemanden gedacht ist, der viellciht noch an seinen ersten Schritten in die DB-Anbindung arbeitet, sollte das Ergebnis idealerweise auch recht gut zu verstehen sein. Solche Konstrukte sind da vielleicht nicht wirklich übersichtlich:
Code: Alles auswählen
private
{$DEFINE read_interface_private}
{$include dmsqldb.inc}
{$UNDEF read_interface_private}
public
{$DEFINE read_interface_public}
{$include dmsqldb.inc}
{$UNDEF read_interface_public}
end;
var
dmsqldb: Tdmsqldb;
{$DEFINE read_var}
{$include dmsqldb.inc}
{$UNDEF read_var}