Einzelnen Beitrag anzeigen

LTE5

Registriert seit: 13. Nov 2017
355 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#8

AW: Komponente über Variable ansprechen

  Alt 16. Nov 2017, 13:08
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.

Geändert von LTE5 (16. Nov 2017 um 13:14 Uhr)
  Mit Zitat antworten Zitat