Du gönnst dir ja nur eine Variable ALabel
und packst da das grade zuletzt erstellte rein. Du musst dir das schon dauerhaft merken (z.B. in einem Array, Dictionary oder was auch immer).
Da das mit der Caption bereits geklärt ist hier ein Vorschlag zum erstellen der labels (nur hier per editor getippst...)
Delphi-Quellcode:
procedure LabelsDing(const ATarget: TGroupBox; const ALabels: Array of String);
var
LblArr: Array of TLabel;
Counter: Integer;
begin
SetLength(LblArr, Pred(Length(ALabels)));
for Counter := Low(ALabels) to High(ALabels) do
begin
LblArr[Counter] := TLabel.Create(ATarget);
LblArr[Counter].Parent := ATarget;
LblArr[Counter].Caption := ALabels[Counter];
LblArr[Counter].Align := alTop;
LblArr[Counter].Alignment := taCenter;
Auf diese Weise werden nur soviel Labels erstellt wie du strings übermittelst und alles wäre innerhalb des arrays ansprechbar.