Registriert seit: 6. Apr 2011
Ort: Berlin
3.070 Beiträge
Delphi 10.4 Sydney
|
AW: Komponente über Variable ansprechen
16. Nov 2017, 13:23
Für sowas habe ich mir mal folgende Routine geschrieben:
Delphi-Quellcode:
class procedure TUtilities.ForAllComponentsOf<T>(Container: TComponent; DoProc: TProc<T>);
var
cmp: TComponent;
begin
for cmp in Container do
if cmp is T then
DoProc(T(cmp));
end;
Das würde man in deinem Fall (angenommen, es gibt keine anderen Shapes) innerhalb des Forms dann in etwa so benutzen:
Delphi-Quellcode:
TUtilities.ForAllComponentsOf<TShape>(Self,
procedure(Arg: TShape)
begin
Arg.Visible := False;
end);
Welche Units müssen denn in die uses-Klausel? Wäre für den Themenersteller (und andere) vielleicht hilfreich.
Versuchs doch mal mit System.SysUtils. Da ist TProc<T> definiert.
|