Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Private. { Private declarations } protected { Protected declarations } public { Public declarations } published { Published declarations } end;



{ Private declarations }
protected
{ Protected declarations }
public
{ Public declarations }
published
{ Published declarations }
end;

Procedure Register; implementation

procedure Register; begin RegisterComponents('Samples', [TGraphicClock]); end;

End.

В шаблоне реализована только одна процедура – Register. В этой процедуре происходит вызов RegisterComponents с двумя параметрами:

1. Имя закладки, на которую нужно будет поместить этот компонент.

2. Имя компонента, которое надо зарегистрировать при установке в системе Delphi. Процедура Register обязательно должна присутствовать в любом модуле компонента. Она вызывается автоматически оболочкой Delphi при установке компонента.

В принципе простейший компонент готов и его можно установить в Delphi. Но этот компонент ничего не умеет и он пока является полным аналогом своего предка TGraphicControl. Чтобы он стал отличатся, сейчас мы добавим ему разные свойства.

Начнём написание нашего компонента с конструктора и деструктора. Конструктор -это метод объекта, который автоматически вызывается при создании компонента. Деструктор -тоже метод, только она автоматически вызывается при уничтожении компонента. Вызывать эти метода напрямую нельзя, а если и можно, то не желательно.

В конструкторе мы проинициализируем все наши переменные, которые понадобятся при его работе, а в деструкторе уничтожим. Итак, напиши в разделе public:

constructor Create(AOwner: TComponent); override;

Как видишь, объявление метода похоже на объявление любой другой процедуры или функции, только вместо ключевого слова procedure стоит слово constructor. Ключевое слово override; после имени этих процедур говорит о том, что мы хотим переписать уже существующую у предка функцию с таким именем. У большинства компонентов есть конструктор и когда мы создаём конструктор у потомка, то у нас получается два метода с одним именем (у предка и у нашего объекта).

Теперь нажми сочетание клавиш CTRL+SHIFT+C и Delphi сам создаст заготовку для конструктора:

constructor TGraphicClock.Create(AOwner: TComponent); begin inherited; end;

Поправим её до вот такого вида:

constructor TGraphicClock.Create(AOwner: TComponent);
begin
//Вызываем конструктор предка

inherited Create(AOwner);





Дата публикования: 2014-11-04; Прочитано: 471 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2025 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...