Возможные состояния компонента
Таблица 2.2. Возможные состояния компонента
Состояние |
Описание
|
csLoading |
Устанавливается при загрузке компонента из потока |
csReading |
Устанавливается при чтении значений свойств из потока |
csWriting |
Устанавливается при записи значений свойств в поток |
csDestroying |
Устанавливается при уничтожении компонента |
csDesigning |
Состояние разработки. Устанавливается при работе с формой во время разработки |
csAncestor |
Устанавливается при переносе компонента на форму. Для перехода в это состояние должно быть уже установлено состояние csDesigning |
csUpdating |
Устанавливается при изменении значений свойств и отображения результата на форме-владельце. Для перехода в это состояние должно быть уже установлено состояние csAncestor |
CsFixups |
Устанавливается, если компонент связан с компонентом другой формы, которая еще не загружена в среду разработки |
csFreeNotification |
Если это состояние устанавливается, другие компоненты, связанные с данным, уведомляются о его уничтожении |
cslnline |
Определяет компонент верхнего уровня в иерархии. Используется для обозначения корневого объекта в разворачивающихся свойствах |
csDesignlnstance |
Определяет корневой компонент на этапе разработки |
Для обеспечения работы механизма действий (см. гл. 8) предназначен
метод
function ExecuteAction(Action: TBasicAction): Boolean; dynamic;
Он вызывается автоматически при необходимости выполнить акцию, предназначенную для данного компонента.
На уровне класса TComponent обеспечена поддержка СОМ-интерфейсов IUnknown и IDispatch.
Через свойство
property ComObject: IUnknown;
вы можете обеспечить применение методов этих интерфейсов.
Таким образом, класс TComponent имеет все для использования в качестве предка, для создания собственных невизуальных компонентов.