Zeichnete Delphi 7 die Property nicht auch schon bunt? (jenachdem ob/wie gespeichert wird)
Und besser auch so
Delphi-Quellcode:
property MyLabel: TLabel read FLabel write AssignLabel;
procedure TTestComponent.AssignLabel(Value: TLabel);
begin
FLabel.Assign(Value);
end;
Das Label vewaltest du ja ausschließlich innerhalb der Komponente, also sollte man extern den Zeiger besser nicht beschreiben und eine andere Instanz zuweisen dürfen. (nur dessen Property)
Ein NIL zugewiesen und deine Komponente reagiert bestimmt ganz nett.
Das Free ist auch nicht unbedingt nötig (bereitet aber keine Probleme), denn durch den Owner (das Self in
TLabel.Create(Self);
) gibt dein Panel das Label selbsttändig frei.