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

# TAbstractObjectReader.BeginComponent

Marks the reading of a new component.

## Declaration

Source position: classesh.inc line 1235

`public procedure TAbstractObjectReader.BeginComponent(`
`var Flags: TFilerFlags;`
`var AChildPos: Integer;`
`var CompClassName: string;`
`var CompName: string`
`); virtual; abstract;`

## Description

This method is called when the streaming process wants to start reading a new component.

Descendant classes should override this method to read the start of a component new component definition and return the needed arguments. Flags should be filled with any flags that were found at the component definition, as well as AChildPos. The CompClassName should be filled with the class name of the streamed component, and the CompName argument should be filled with the name of the component.

AChildPos is used to change the ordering in which components appear below their parent component when streaming descendant forms.

## See also

TAbstractObjectReader.BeginRootComponent |  | Starts the reading of the root component.
TAbstractObjectReader.BeginProperty |  | Marks the reading of a property value.