Ich habe in meinem Projekt 50 Panels die ich gleichzeitig umfärbe. Das mache ich mittels dieser GetObjectByName:
Delphi-Quellcode:
function tform1.GetObjectByName(ctrlName: string): TObject;
var
i: Integer;
begin
Result := nil;
for i := 0 to form1.ComponentCount -1 do
begin
if frmEditor.Components[i].Name = ctrlName then
begin
Result := frmEditor.Components[i];
break;
end;
end;
for i := 0 to form1.ControlCount -1 do
begin
if form1.Controls[i].Name = ctrlName then
begin
Result := form1.Controls[i];
break;
end;
end;
end;
Mein Problem ist das ich die Panels durch die Komponente TIASemiPanel ersetzen will, das ist eine von TPanel abgeleitete Komponete. Wenn ich GetObjectByName für diese Komponente ausführe erhalte ich eine Zugriffsverletzung.
Desahlb meine Frage:
Kann man zum Beispiel für alle Komponeten eines Typs gleichzeitig eine Eigenschaft einstellen? Oder gibt es andere Lösung?