[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'Classes' (#rtl)

# TComponentEnumerator

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Implements IEnumerator for the TComponent class.

## Declaration

Source position: classesh.inc line 1874

`type TComponentEnumerator = class`
`public`
`constructor Create();` |  | Initialize a new instance of TComponentEnumerator
`function GetCurrent;` |  | Return the current pointer in the list
`function MoveNext;` |  | Move the position of the enumerator to the next position in the children of the component.
`property Current: TComponent; [r]` |  | Current pointer in the list
`end;`

## Inheritance

`TComponentEnumerator` |  | Implements IEnumerator for the TComponent class.
`TObject`

## Description

TComponentEnumerator implements the #rtl.system.IEnumerator interface for the TComponent class, so the TComponent class can be used in a for ... in loop over the TComponent.Components child components of the component. It is returned by the TComponent.GetEnumerator method of TComponent.

## See also

TComponent |  | Base class for all components that need owner-owned functionality.
TComponent.GetEnumerator |  | Create an IEnumerator instance
#rtl.system.IEnumerator |  | Enumerator support interface