Einzelnen Beitrag anzeigen

DKamps

Registriert seit: 7. Nov 2002
Ort: Unna
30 Beiträge
 
Delphi 7 Enterprise
 
#1

Löschen persistenter Felder von TDataSet zur Laufzeit

  Alt 7. Nov 2002, 17:37
Wie wir alle aus dem Delphi-Kochbuch wissen, können wir persistente Felder in TDataSet nicht nur im Objektinspektor erzeugen, sondern auch zur Laufzeit:

for i := 0 to FieldDefs.Count -1 do
FieldsDef.Items[i].CreateField(self);


Leider werde ich diese dann nicht mehr los, auch die in der Hilfe beschriebene Prozedur FieldDefs.Clear oder FieldsDef.Items[i].Free hilft nicht. Zwar wird die FieldDefs-Auflistung tatsächlich gelöscht, aber wenn ich das gleiche DataSet mit einem anderen CommandText (Select * From Table) öffne, dann meckert die Laufzeit-Umgebung über fehlende Felder aus der alten Query.
Offensichtlich speichert Delphi7 irgendwo noch die Informationen über persistente TField-Instanzen.
  Mit Zitat antworten Zitat