Иллюстрированный самоучитель по Delphi 7 для профессионалов

Класс TComponent

Очень важное свойство:

type TComponentState = set of (csLoading, csReading, csWriting, csDestroying,
 csDesigning, csAncestor, csllpdating, csFixups, csFreeNotification, cslnline, csDesignlnstance);
 property ComponentState: TComponentState;

Дает представление о текущем состоянии компонента. В табл. 2.2 описаны возможные состояния компонента. Состояние может измениться в результате получения компонентом некоторого сообщения, действий разработчика, выполнения акции и т. д. Это свойство активно используется средой разработки.

Таблица 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 имеет все для использования в качестве предка, для создания собственных невизуальных компонентов.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.