vielleicht ist ein Anfängerfehler....
Zur Ausgangslage: Mit dem Objektinspektor habe ich bereits eine Form und eine PageControl mit 2 TabSheets erstellt. Während der Laufzeit werden weitere TabSheets mit gleichen Componenten, darunter auch Groupboxen mit Componenten erstellt. Das funktioniert auch.
Ich habe nun das Problem, dass ich nicht auf die Labels in der GroupBox des TabSheets zugreifen kann. Was mache ich falsch?
Hier ein vereinfachter Code-Auszug:
Code: Alles auswählen
Procedure TForm1.NeuesTabMitComponentenFuellen(newtab: TTabSheet);
begin
GroupBox1:= TGroupbox.Create(Form1);
with GroupBox1 do
begin
name:= 'Groupbox1’ + intToStr(Zaehler1);
parent := newtab;
end;
Label1:= TLabel.Create(GroupBox1);
with Label1 do
begin
name:= 'Label1' + IntToStr(Zaehler2);
parent := GroupBox1;
end;
ComboBox1:= TComboBox.Create(GroupBox1);
with ComboBox1 do
begin
name:= 'ComboBox1’+ IntToStr(Zaehler2);
parent:= GroupBox1;
OnChange:= @MachWas;
end;
end;
Procedure TForm1.NeuesTabSheet(Sender: TObject);
var newtab: TTabSheet;
begin
newtab := TTabSheet.Create(self);
NeuesTabMitComponentenFuellen(newtab);
end;
Procedure TForm1.TabSheetInhalteAendern;
begin
for i:=0 to Form1.ComponentCount-1 do
if Form1.Components[i].name= 'GroupBox' +IntToStr(Zaehler) then Form1.Components[i].name:=’test’; //<- findet nichts
End;