(_Примечание ^
Тип TComponentName представляет собой обычную строку: type TComponentName = type string;
Свойство
property Tag: Longint;
является вспомогательным и не влияет на работу компонента. Оно отдано на откуп разработчику, который может присваивать ему значения по своему усмотрению. Например, это свойство можно использовать для дополнительной, более удобной идентификации компонентов.
Для компонентов существует своя иерархия, поэтому в классе введен механизм учета и управления компонентами, для которых данный компонент является владельцем. Свойства и методы, которые отвечают за управление, приведены в табл. 2.1.
Таблица 2.1. Свойствам методыдляуправлениясписком компонентов
Свойство (метод) |
Описание |
|
property |
|
Содержит индексированный список указателей всех компонентов, для которых данный компонент ЯВЛЯеТСЯ Владельцем (Owner) |
property |
|
Число подчиненных компонентов |
property |
|
Указывается, какой компонент является владельцем данного |
property |
|
Индекс данного компонента вспискевладельца |
Таблица2.1 (окончание)
Свойство (метод) |
Описание |
|
procedure |
Insert Component (AComponent: |
Вставляет компонент AComponent |
|
в СПИСОК |
|
procedure |
RemoveComponent(AComponent: |
Удаляет компонент АСотропеп1 |
|
из списка |
|
procedure |
FindComponent(AName: string): |
Осуществляет поиск компонента |
|
по имени АЫате |
|
procedure |
|
Предназначен для уничтожения |
всех компонентов, подчиненных |
||
данному |
Очень важное свойство
type TCcmponentState = set of (csLcacang, csReading, csWriting, cstestroying, csfesigning, csAncestor, csUpdating, csFixups, csFreeNotification, cslnline, csDesignlnstance) ;
property ComponentState: TCcmponentState;
дает представление о текущем состоянии компонента. В табл. 2.2 описаны возможные состояния компонента. Состояние может измениться в результате получения компонентом некоторого сообщения, действий разработчика, выполнения акции и т. д. Это свойство активно используется средой разработки.
Таблица 2.2. Возможные состояния компонента
Состояние |
Описание |
csLoading |
Устанавливается при загрузке компонента из потока |
csReading |
Устанавливается при чтении значений свойств из потока |
csWriting |
Устанавливается при записи значений свойств в поток |
csDestroying |
Устанавливается при уничтожении компонента |
csDesigning |
Состояние разработки. Устанавливается при работе с формой во время разработки |
csAncestor |
Устанавливается при переносе компонента на форму. Для перехода в это состояние должно быть уже установлено состояние сз0ез1дшпд |
csUpdating |
Устанавливается при изменении значений свойств и отображения результата на форме-владельце. Для перехода в это состояние должно быть уже установлено состояние сэАпсеэ^г |
Таблица2.2 (окончание)
Состояние |
Описание |
сзР1хирз |
Устанавливается, если компонент связан с компонентом |
другой формы, которая еще не загружена в среду разра- |
|
ботки |
|
csFreeNotification |
Если это состояние устанавливается, другие компоненты, |
связанные с данным, уведомляются о егоуничтожен ии |
|
сэТ-пПпе |
Определяет компонент верхнего уровня в иерархии. Ис- |
пользуется для обозначения корневого объекта в развора- |
|
чивающихся свойствах |
|
csDesignInstance |
Определяет корневой компонент на этапе разработки |
Для обеспечения работы механизма действий (см. гл. 8) предназначен метод