Hallo alle!
Ich habe ein Panel, welches zur Designzeit ein DBGrid enthält. Zur Laufzeit füge ich die folgenden Komponenten hinzu:
Delphi-Quellcode:
Edit:= TDBEdit.Create(DBGrid.Parent);
Edit.Parent:= DBGrid.Parent;
// Zuweisen des Namens aus dem Spaltennamen der abgefragten Tabelle
Edit.Name:= DBGrid.DataSource.Name+'_'+DBGrid.Fields[count].FieldName;
Was mir ein TDBEdit-Feld erzeugt, dass im Panel "enthalten" ist. Auf Knopfdruck soll nun dieses TDBEdit wieder entfert werden. Dazu bediene ich mich des folgenden:
Delphi-Quellcode:
// Entferne alle TDBEdits, die im Panel "enthalten" sind
for i:=0 to DBGrid.Parent.ComponentCount -1 do
if (Components[i] is TDBEdit) then
Components[i].Free;
Leider weden die Komponenten nicht entfernt. Bei einem erneuten erzeugen des TDBEdit-Feldes erhalte ich deshalb die Fehlermeldung "Eine Komponente mit dem Namen ... existiert bereits".
Wie kann ich die erzeugten TDBEdits wieder entfernen? Mir ist nicht klar warum das so nicht funktioniert?
Danke für eure Hilfe,
Gruß,
Barnti