Hvis du havde en TStringList kunne det gøres mere elegant - ikke meget, men mindre risikobetonet. I mine øjne er det næsten en dødssynd at basere programmeringen på at en komponent ikke skifter navn. Bevares, der er værre synder: Eksempelvis at sende X-faktor og deslige på alle TV-kanaler en fredag.
uses
ContNrs;
private
fList: TObjectList;
OnCreate:
fList := TObjectList.Create(false);
try
fList.Add(Label1);
fList.Add(Label2);
fList.Add(Label3);
...
OnDestroy:
fList.Free;
For at sætte en label:
procedure TForm1.SetLabel(aIndex: integer; aText: string; var
lbl: TLabel;
begin
lbl := fList[aIndex] as TLabel;
lbl.Caption := aText;
end