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.