Главная » Delphi » Регистрация компонента

0

В процессе регистрации компонент помещается в палитру  компонентов Delphi. Если для разработки компонента использовалось окно New Component, то для регистрации ни чего предпринимать не нужно — Delphi сама создаст необходимый код. Если же компонент написан вручную,  то в модуль созданного компонента необходимо включить процедуру Register().

В этом  случае  достаточно добавить процедуру  Register() в раздел  interface

модуля создаваемого компонента.

Процедура Register() просто вызывает процедуру  RegisterComponents() для каждого  регистрируемого компонента. Процедуре RegisterComponents() переда ется  два параметра: имя  вкладки, в которой будет размещаться компонент, и массив типов компонентов. В листинге 11.8 показано, как использовать эту процедуру.

Листинг 11.8. Регистрация компонентов

Unit MyComp; interface type

TMyComp = class(TComponent)

end;

TOtherComp = class(TComponent)

end;

procedure Register;

implementation

{ Методы класса TMyComp }

{ Методы класса TOtherComp }

procedure Register;

begin

RegisterComponents(‘DDG’, [TMyComp, TOtherComp]);

end;

end.При  выполнении этого  кода компоненты TMyComp и TOtherComp регистрируются и помещаются во вкладку DDG палитры компонентов Delphi.

Палитра компонентов

В Delphi версий 1 и 2 вся библиотека с компонентами, пиктограммами и редакторами, использовавшимися во время разработки, находилась в одном файле. Впрочем, рабо- тать лишь с одним файлом было очень удобно, тем не менее по мере того, как в биб- лиотеку добавлялись все новые и новые компоненты, управлять ею становилось все тяжелее и все больше времени уходило на ее перекомпоновку при каждом добавле- нии.

С появлением пакетов в Delphi 3 стало возможным разбить библиотеку компонентов на несколько отдельных частей. Хотя иметь дело со множеством файлов сложнее, чем с одним, это решение существенно расширяет возможности управления конфигураци- ей и значительно сокращает время, необходимое для перекомпоновки библиотеки при добавлении в нее нового компонента.

По умолчанию все новые компоненты добавляются в пакет DclUser6, но можно соз-

давать и устанавливать новые пакеты времени разработки, выбрав в меню File пункты

New и Package. На прилагаемом компакт-диске находится пакет разработки DdgDT6.dpk, включающий в себя компоненты, описываемые в этой книге. Пакет вре- мени выполнения называется DdgRT6.dpk.

Если поддержка режима разработки подразумевает нечто большее, чем просто вызов

RegisterComponents() (например необходимы редакторы свойств, или редакторы компонентов, или регистрация экспертов), то следует перенести процедуру Regis- ter() и регистрируемые ею элементы в модуль, отдельный от самих компонентов. Если этого не сделать, то такой “всеобщий” модуль, скомпилированный в пакет време- ни выполнения и содержащий процедуру Register, которая ссылается на классы или процедуры, существующие лишь во время разработки, окажется непригодным к ис- пользованию. Именно поэтому программная поддержка времени разработки должна быть отделена от соответствующей поддержки времени выполнения.

Источник: Тейксейра, Стив, Пачеко, Ксавье.   Borland Delphi 6. Руководство разработчика. : Пер.  с англ. — М. : Издательский дом “Вильямс”, 2002. —  1120 с. : ил. — Парал. тит. англ.

По теме:

  • Комментарии