Состав класса TComponent

   
На этом шаге мы рассмотрим свойства и методы класса TComponent.

Свойства класса TComponent
Методы класса TComponent

   
Предком для всех компонентов библиотеки является класс TComponent.
Он инкапсулирует
наиболее общие свойства и методы компонентов, включая:

  • возможность включать компонент в палитру компонентов и работать с ним
    при визуальном проектировании;
  • способность быть владельцем других компонентов или управляться
    другими компонентами;
  • возможность обмена с потоками и файлами;
  • возможность служить оболочкой элементов ActiveX и других
    объектов.

   
Объекты типа TComponent не создаются. Этот класс используется как
базовый при объявлении
класса невизуального компонента, который может присутствовать в палитре
компонентов и
применяться в процессе проектирования.

Свойства класса TComponent

   
Этот класс имеет небольшое количество свойств, которые представлены в
таблице 1.

   

Таблица 1. Свойства класса
TComponent

СвойствоОписание
property ComObject: IUnknown;Защищенное свойство, возвращающее ссылку на интерфейс в
компонентах, поддерживающих стандарт COM.
property ComponentCount: Integer;Число компонентов, которыми владеет данный компонент. Равно числу
элементов в массиве Components. Может использоваться вместе с
ComponentIndex.
property ComponentIndex: Integer;Индекс компонента в массиве Components. Нумерация
элементов в массиве начинается с 0.
property Components [Index: Integer]: TComponent;Массив компонентов, которыми владеет данный компонент.
property ComponentState: TComponentState;
type TCоmponentState = set of (csLoading, csReading,
csWriting, csDestroying, csDesigning);
Состояние компонента в процессе визуального проектирования (только
для чтения).
Эти состояния используются средой во время визуального проектирования, при
загрузке/выгрузке компонентов
из файлов ресурсов. Во время исполнения приложения множество состояний
пусто. Во
время выполнения не используется.
property ComponentStyle: TComponentStyle;
type TComponentStyle = set of (csInheritable,
csCheckPropAvailcsSubComponent, csTransient);
Определяет множество флагов стиля компонента. В частности, стиль
csInheritable указывает, что компонент может принадлежать
форме.
property DesignInfo: Longint;Используется в среде Delphi при проектировании форм. В нем
хранятся координаты верхнего левого угла компонента во время разработки. В
приложениях не используется.
property property Name: TComponentName;
type TComponentName = string[63];
Имя компонента. Имя компонента не может быть пустой строкой; в
модуле не может
быть и двух компонентов с одинаковыми именами. Это не просто то имя,
которое использует программист
при обращении к свойствам методам компонента, а компилятор - при
компиляции этих обращений.
Компонент знает свое имя на этапе выполнения программы, но что еще более
важно - на
этапе визуального проектирования приложения (будем называть это еще
этапом разработки).
property Owner: TComponent;Определяет владельца данного компонента. Форма является
владельцем всех расположенных на
ней компонентов. В свою очередь объект Application является
владельцем всех форм.
Когда освобождается память, занимаемая владельцем, автоматически
освобождается память всех
компонентов, которыми он владел. Свойство только для чтения.
property Tag: Longint;Позволяет "привязать" к каждому компоненту целое число. Значение
этого свойства системой не используется, поэтому разработчик может
использовать его по своему усмотрению.
property VCLComObject: Pointer;Используется только в среде Delphi-компонентов,
поддерживающих стандарт COM.

   
К оглавлению

   
Методы класса TComponent

   
В классе TComponent определено большое количество методов. В
таблице 2 приводятся
только те из них, которые часто используются при работе с компонентами.
Остальные используются
для внутренних потребностей Delphi.

   

Таблица 2. Методы класса
TComponent

МетодОписание
constructor Create(AOwner: TComponent); virtual;Вызов конструктора компонента.
destructor Destroy; override;Вызов деструктора компонента. Вместо этого метода лучше
использовать методы Free или Release.
function FindComponent(const AName: string):
TComponent;
Ищет в списке Components компонент с заданным
именем.
procedure FreeNotification (AComponent: TComponent);Гарантирует, что указанный в вызове компонент будет разрушен.
Используется только по отношению к компонентам, расположенным на других
формах. Для компонентов на текущей форме вызывается автоматически.
procedure InsertComponent (AComponent: TComponent);Добавление указанного компонента в конец списка
компонента-владельца. При визуальном проектировании вызывается
автоматически. Специально может потребоваться только при добавлении
компонента в список другого владельца.
procedure RemoveComponent (AComponent: TComponent);Удаление указанного компонента из списка компонента-владельца. При
визуальном проектировании вызывается автоматически. Специально может
потребоваться только при удалении компонента из списка другого
владельца.
procedure DestroyComponents;Удаляет все компоненты из списка.

   
К оглавлению

   
На следующем шаге мы рассмотрим состав класса TControl.



Вы можете оставить комментарий, или Трекбэк с вашего сайта.

Оставить комментарий