Главная » Delphi » Пакеты

0

(packages) Delphi  позволяют размещать части  приложения в различных модулях,  которые могут  затем  совместно использоваться несколькими приложения ми. Те, кто имеют  опыт  работы с Delphi 1 или 2, оценят преимущества новых  пакетов по достоинству, поскольку  ими можно  воспользоваться без каких либо  изменений ис ходного кода.

можно  понимать как коллекции модулей,  сохраняемых в отдельных фай лах библиотек пакетов Borland (BPL — Borland Package  Library), подобных файлам DLL. Приложение можно  связать с пакетированными модулями непосредственно во время выполнения, а не  во  время  его  компиляции и  компоновки. Естественно, при  этомразмер исполняемого файла  уменьшается, так как часть  кода и данных  располагается в файле BPL. Delphi  позволяет создавать пакеты четырех типов.

•  Пакет времени выполнения (runtime package). Этот тип пакетов содержит модули, используемые программой  во  время  ее  выполнения. Приложение, скомпили рованное для взаимодействия с данным  пакетом, не  будет работать без  него. Примером пакета такого типа может служить пакет Delphi  VCL60.BPL.

•   разработки (design package). Пакет  этого  типа  содержит элементы, не обходимые для разработки приложения (например компонентов редактора свойств и  компонентов программ экспертов). Эти  пакеты можно  включить в библиотеку компонентов Delphi, выбрав в меню Component (Компонент) пункт Install Package (Установка пакетов). В качестве примера можно  привести пакет Delphi  DCL*.BPL. Более  подробная информация о пакетах  этого  типа  приведе на в главе 11, “Разработка компонентов VCL”.

•   разработки и времени выполнения (runtime and  design  package). Такие  па кеты применяются как пакеты одновременно обоих  указанных выше типов. Использование подобных пакетов упрощает создание и распространение при ложения. Но  этот  тип  пакетов менее  эффективен, поскольку  помимо необхо димой для работы исполняемой части они содержат также поддержку  среды разработки.

•  , не относящиеся ни к одному из перечисленных типов. Такие  пакеты могут применяться только  другими пакетами и не используются непосредственно приложением или средой разработки.

Использование пакетов Delphi

Создание приложений, работающих с пакетами Delphi, представляет собой несложную задачу. Для этого  достаточно установить флажок Build with Runtime Packages во  вкладке  Packages диалогового окно  Project Options. Данный пара метр  позволяет компилятору создавать приложения, динамически связанные с пакетами времени выполнения, вместо   статической  компоновки всех  модулей  в общий  файл  .EXE или  .DLL. В результате  размер файла  приложения станет на много  меньше.  Однако не  забывайте, что  в этом  случае  при  установке приложе ния придется установить и необходимые пакеты.

Синтаксис описания пакетов

Обычно пакеты создаются с помощью редактора Package  Editor, для вызова  кото рого  необходимо выбрать в меню  File пункты  New и Package. Этот  редактор создает исходный файл  пакета  DPK (Delphi Package  Source), который затем  компилируется в пакет.  Синтаксис, используемый при  создании файла  DPK, очень  прост  и имеет  сле дующий формат:

package PackageName

requires Package1, Package2, …;

containsUnit1 in ‘Unit1.pas’, Unit2 in ‘Unit2.pas’,

;

end.

, перечисленные в разделе requires, необходимы для работы текущего пакета.  Обычно эти пакеты содержат модули, используемые теми модулями,  которые перечислены в разделе contains (последние будут скомпилированы в данный пакет). При  этом следует помнить, что модули, объявленные в разделе contains этого  паке та, не должны  упоминаться в разделах contains пакетов, перечисленных в разделе requires данного модуля. Заметим также,  что  в пакет  будет неявно включен любой модуль,  используемый другим  модулем,  указанным в разделе contains пакета  (если только  он уже не содержится в одном из пакетов, указанных в разделе requires).

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

По теме:

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