Entwickler-Ecke

Datenbanken - Verwalten mehrerer TCustomClientDataSets


bash - So 09.02.03 18:46
Titel: Verwalten mehrerer TCustomClientDataSets
Hi,

ich bin gerade dabei, eine Art "Datenbank" für TCustomClientDataSet zu schreiben. das ganze ist wie folgt aufgebaut:

Ich habe mir eine neue Klasse, abgeleitet von TComponent, erstellt. Diese Klasse nenn ich jetzt einfach mal Datenbank, da sie Funktionen enthält, mit denen sie dann auf alle TCustomClientDataSets zugreifen kann. Verweise auf diese Datensätze habe ich in einer TList gespeichert.

Dann habe ich eine Klasse von TCustomClientDataSet abgeleitet. So ein Objekt der Klasse kann dann eben über den Objektinspektor auf die oben genannte Datenbank verweisen.

Mit den Verweisen bzw. den Einträgen in der TList habe ich keine Probleme, funktioniert alles super. Auch wenn ich mir die entsprechenden Elemente auf ein Formular ziehe, alles miteinander verknüpfe, Felder anlege und dann für jeden Datensatz CreateDataSet aufrufe. Geht ja alle noch.

ABER:

Wenn ich nun bei einem Datensatz eine Mastersource und ein Masterfield angebe, das eben aus einer anderen Tabelle vom Formular verweist, und dann meine Felder mit CreateDataSet erstellen möchte, bekomme ich folgende Fehlermeldung:

CDataSet2: Field index out of range

wobei CDataSet2 der Name des Objekts im Formular ist. CDataSet2 verweist dabei mit seinem Mastersource und -field auf eine Feld in CDataSet1.

Hat jemand vielleicht eine Idee, woran das liegen kann? Irgendetwas muss bei dem Entwurf schief gelaufen sein, denn die Funktion CreateDataSet ist ja nur geerbt, habe da also nix dran geändert.

Für Hilfe wär ich da wirklich sehr dankbar.

Bis dann...
bash