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

# TComponentState

Indicates the state of the component during the streaming process.

## Declaration

Source position: classesh.inc line 1844

`type TComponentState = set of (`
`csLoading,` |  | The component is being loaded from the stream.
`csReading,` |  | Properties are being read from the stream.
`csWriting,` |  | Properties are being written to the stream.
`csDestroying,` |  | The component is being destroyed.
`csDesigning,` |  | The component is being designed in an IDE.
`csAncestor,` |  | The component is being streamed as part of a frame (?)
`csUpdating,` |  | The component is being updated.
`csFixups,` |  | The component's references to other components are being fixed.
`csFreeNotification,` |  | Indicates whether the component has freenotifications
`csInline,` |  | Component is part of a frame (?).
`csDesignInstance` |  | ??
`);`

## Description

The following values are possible:

csLoading
  The component (and all child components) are being loaded from a stream. This means that a TReader instance is reading properties from this and child components from a stream and is applying the values found in the stream to the properties.
csReading
  The properties of this component are being read from a stream. This means that a TReader instance is reading properties from this component from a stream and is applying the values.
csWriting
  The properties of this component are being written to a stream. This means that a TWriter instance is writing properties from this component to a stream.
csDestroying
  The component is being destroyed.
csDesigning
  The component is being designed in an IDE.
csAncestor
  The component has a design ancestor. This is used to record differences between a component and it's design ancestor. For example a form TForm2 inherited from a form TForm1. TForm1 and all its components are copied to TForm2. TForm2 and all its inherited components have csAncestor set. Only differences between TForm1 and TForm2 are stored in the stream of TForm2. The child components of a frame put onto a form have csAncestor too.
csInline
  The component is a nested top level component. For example a frame on a form. The children of the frame do not have csInline, unless they are other frames.
csDesignInstance
  The component is designed (csDesigning) and is a root component, meaning it has no owner (Owner=nil).
csFixups
  The component's references to other components are being fixed. While reading a component from stream, it can happen that the stream contains a component reference property with a name of a component that was not yet created and read from the stream. Such properties are saved, and the missing references are resolved when the complete stream was read. This resolving step is called fixing up references, and the csFixups flags is set during this step.
csFreeNotification
  This flag indicates that the component has free notifications registered with TComponent.FreeNotification