Einzelnen Beitrag anzeigen

Hügel

Registriert seit: 11. Mai 2005
4 Beiträge
 
#1

EAbstractError beim Entfernen einer Komponente

  Alt 28. Feb 2006, 18:01
Hallo,

ich arbeite an einem Programm, in dem ich dynamisch mehrere Labels zum Anzeigen von Daten und 2 Buttons zum Editieren und Löschen erstellen kann. Es gehören immer 2 Buttons und 6 Labels zusammen (ich weiß, nen StringGrid könnte sinnvoller sein, aber darum gehts derzeit noch nicht).
Alles wird durch ein Array verwaltet, soweit kein Problem.

Das eigentliche Problem liegt beim Löschen des Datensatzes: Ich klicke auf den 'Löschen' Button des jeweiligen Datensatzes und die zugehörigen 6 Labels und beide Buttons sollen verschwinden. Dafür verwende ich Free.
In der Delphi-Hilfe steht allerdings, dass ich diese Funktion nicht im OnClick Event des zu löschenden Objektes verwenden soll, genau das wäre aber ja mein Wunsch. --> Ergebnis: EAbstractError!

Delphi-Quellcode:
var L : Array[1..20, 1..6] of TLabel;
     B : Array [1..20,1..2] of TButton;


procedure Entfernen(Sender: TObject);
var i: Integer;
begin
 Nr := StrToInt(Copy(TButton(Sender).Name,4, 2)); // Nr des Sender-Buttons wird aus dessen Namen ausgelesen

 for i := 1 to 6 do
   L[Nr, i].Free // Labels 1-6 werden gelöscht

 B[Nr, 1].Free // Edit-Button wird gelöscht
 B[Nr, 2].Free // Löschen-Button wird gelöscht
end;
Wie kann ich also dieses Problem umgehen?
  Mit Zitat antworten Zitat