Am Label-Löschen liegt es nicht. Folgender Source funktioniert:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
MyLabel : TLabel;
LabelName : string;
begin
MyLabel:=TLabel.Create(Form1);
with MyLabel do begin
Caption:= DateTimeToStr(Now);
labelname:= 'Label'+IntToStr(labelvar);
Delete(labelname, 2, 1); //Bearbeitung der Caption für den Namen, da Sondezeichen enthalten
name:='Label'+labelname;
left:=10;
top:=labelvar*20; //globale Variable, um die Labels untereinander anzuzeigen
visible:=true;
parent:=Form1;
onClick:=loesche; //Prozedur, zu der ich noch komme
end;
labelvar:=labelvar+1;
end;
procedure TForm1.Loesche(Sender: TObject);
begin
(Sender as TLabel).Destroy; //Zuletzt wird dann das angeklickte Label wieder gelöscht
end;
Bitte nimm doch den Vorschlag an, im Einzelschritt zu debuggen. Programmierer die nicht debuggen kommen in die Hölle (Steve McConnell)