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


Класс TComponent - часть 2


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

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

 




Начало  Назад  Вперед