Рассмотрим, как работать с пакетами




Дата канвертавання18.04.2016
Памер67.75 Kb.
1. Пакеты

Любой компонент, который устанавливается в Delphi, должен попасть в ка­кой-то пакет. Для этих целей по умолчанию уже есть один пакет, но вы мо­жете создавать новые пакеты. Таким образом, компоненты можно группи­ровать по смысловому признаку в разные пакеты. Например, те, что работают с графикой, устанавливать в один пакет, а те, что работают с фай­лами — в другой.

Рассмотрим, как работать с пакетами.

Для начала создайте где-нибудь у себя на компьютере директорию (папку) Components. В нее вы будете складывать все созданные или скачанные из Internet компоненты. Внутри нее создайте еще одну — Other.

Примечание

На диске в папке Компоненты \ Handles вы найдете исходный код, который будем сейчас устанавливать. Скопируйте найденный там файл в папку Other. Скопиро­вать нужно файл Handles.pas. Здесь находится исходный код компонента. Теперь запустите Delphi и закройте все, что в нем открыто (File | Close All).

Чтобы установить компонент, выберите из меню Component пункт Install Component. Перед вами откроется окно. В этом ок­не вы можете увидеть четыре строки ввода. Рассмотрим их назначение.

- Unit file name — в этой строке нужно указать имя устанавливаемого ком­понента. Для этого щелкните по кнопке Browse и вы увидите стандартное окно открытия файла. Откройте файл Handles.pas.

- Search Path — здесь находится список путей, по которым Delphi при компиляции ищет исходный код установленных компонентов. В прин­ципе, в конец этой строки надо было бы добавить, после точки с запя­той, и путь к нашему компоненту. Но пока этого делать не будем.

- Package file name — это имя пакета, в который будет помещен устанавли­ваемый компонент. Здесь можно выбирать в выпадающем списке любой существующий.

- Package description — текстовое описание пакета. Здесь может быть лю­бой текст, заданный вами. Он ни на что не влияет.

Будем считать, что у вас в системе еще нет своих пакетов, и Delphi предложил установить новый компонент в пакет по умолчанию. Мы не будем этого де­лать, потому что так у нас в системе возникнет неопределенность. Давайте создадим новый пакет, в который будем помещать все файлы из директории Components \ Other. Для этого в этом же окне выберите вкладку (она находится в верхней части окна) Into new package и нажмите кнопку Browse напротив строки Package file name. В появившемся стандартном окне открытия файлов перейдите в директорию Components \ Other и здесь вручную введите имя па­кета — OtherComponents — и нажмите кнопку ОК.

Теперь нажмите кнопку ОК в окне InstallComponent, чтобы закрыть окно установки компонента. Перед вами автоматически должно появиться сооб­щение типа: "Package OtherComponents.bpl will be build then installed. Continue?" Смысл сообщения следующий — "Пакет OtherComponents.bpl будет отком­пилирован и установлен в систему. Продолжить?" Можете нажать кнопку Yes и Delphi сделает все необходимое для установки нового компонента в сис­тему. Однако нажмем кнопку No, чтобы рассмотреть, как это делается не автоматически и что при этом происходит.

Для начала у вас появилось новое окно пакета.

В центре окна можно увидеть дерево из двух ветвей.

- Contains — здесь содержатся модули, входящие в пакет. У нас пока один модуль и вы видите только его файлы.

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

В верхней части окна находятся панели со следующими кнопками:

- Compile — компилировать пакет;

- Add — добавить новый модуль в этот пакет;

- Remove — удалить модуль;

- Install — установить пакет в систему (при нажатии этой кнопки пакет,
при необходимости, будет перекомпилирован);

- Options — настройки пакета.

Прежде чем компилировать наш пакет, давайте посмотрим его настройки. Нажмите кнопку Options и вы увидите окно свойств пакета.

В принципе, большинство настроек схожи с настройками исполняемых файлов. Обратите внимание на раздел Usage options, где надо указать, для чего будет использоваться пакет. Здесь доступны три варианта.

- Designtime only — компоненты пакета могут использоваться только во время проектирования формы в оболочке Delphi.

- Runtime only — компоненты нельзя использовать во время проектирова­ния, а можно только создавать во время выполнения программы. Для этого на машине, запускающей программу, обязательно должен присут­ствовать откомпилированный файл проекта (файл с тем же именем и расширением — bpl).

- Designtime and runtime — компоненты пакета можно использовать в обо­их случаях.

Примечание

Чаще всего используют именно третий пункт, а второй ставят для коммерче­ских пакетов, которые распространяются за деньги. В этом случае пользова­тель может познакомиться с возможностями ваших компонентов, но только ис­пользуя их во время выполнения программы и с помощью дополнительных файлов (bpl). Если он захочет использовать компоненты и во время проектиро­вания формы в оболочке Delphi, то за это можно брать отдельную плату.

Чуть позже мы рассмотрим, чем отличаются пакеты Designtime и Runtime на практике, а пока закройте окно свойств пакета и возвращайтесь в окно пакета.

Нажмите кнопку Install, чтобы установить пакет в систему. Если кнопка Install недоступна, то сначала откомпилируйте проект, а потом установите. Delphi откомпилирует пакет и выведет сообщение об удачной установке. Закройте окно пакета. При закрытии Delphi спросит о необходимости со­хранить его, ответьте Да, чтобы все изменения сохранились.

Теперь на палитре компонентов у вас должна появиться новая вкладка с именем CyD, где вы сможете найти новый компонент. Некоторые компо­ненты попадают на вкладку



Symples, а для некоторых создаются новые вкладки.

Теперь снова закройте все (File | Close All) и создайте новый проект прило­жения. Сейчас мы рассмотрим, как используются пакеты Designtime и Runtime. Выберите пункт Options из меню Project. Перед вами откроется окно свойств проекта. В этом окне перейди на вкладку Packages.

Здесь (в нижней части окна) вы можете видеть флажок Build with runtime packages. Если установить этот флажок, то ваши программы резко умень­шаются в размере, потому что в них будет храниться только код программы. Все компоненты, которые установлены на форме, не попадут в исполняе­мый файл.

Когда программа будет запускаться, она будет подгружать эти компоненты из файлов пакетов, перечисленных в строке чуть ниже вышеописанного флажка. Получается, что пакеты bpl могут работать как самые настоящие динамические библиотеки. Так вы можете экономить размер программ, но при переносе программы на другой компьютер, вы должны заботиться о том, чтобы и необходимые BPL-файлы тоже попали на тот компьютер. Их достаточно скопировать в папку System (System32 для Windows NT/2000/XP) директории Windows.

Если снять флажок Build with runtime packages, то программа становится полноценной и не нуждается в дополнительных BPL-файлах. Исключения составляют только случаи, когда вы использовали пакет Runtime, который не может компилироваться в программу и обязательно должен использо­ваться только на этапе работы программы. Но такие пакеты редкость и ис­пользовать их нежелательно. Работайте с теми компонентами, которые можно установить на форму во время проектирования приложения.

Теперь проверим путь к нашему компоненту. Выберите из меню Tools пункт



Environment Options. Перед вами откроется окно настроек Delphi. В этом окне нужно перейти на вкладку Library.

В этом окне вы можете увидеть следующие опции:

- Library path — здесь перечислены пути, где Delphi должен искать исход­ный код компонентов;

- BPL output directory — здесь указывается директория, куда будут сох­раняться откомпилированные пакеты (по умолчанию здесь указано $(DELPHI)\Projects\Bpl);

Примечание

Конструкция $(DELPHI) указывает на директорию, куда установлен Delphi. По­лучается, что BPL-файлы будут сохраняться в директорию, где установлен Delphi, поддиректорию Projects\Bpl.

- DCP output directory — директория, в которую будут помещаться DCP-файлы (это скомпилированные файлы пакета, которые хранят всю ин­формацию о всех компонентах, скомпилированных в пакет);

- Browsing path — пути для просмотра.

Нас сейчас интересует только первый список, остальные вообще можно ос­тавлять по умолчанию. Нажмите на кнопку с тремя точками справа от спи­ска Library path. Перед вами откроется окно редактора путей.

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

Проверьте список на наличие пути к директории, где находится исходник файла

Handles.pas. Если такого пути нет, то щелкните по кнопке с тремя точками справа от строки ввода и вы увидите окно выбора директории. Найдите нужную директорию и нажмите ОК. Теперь выбранный путь нахо­дится в строке ввода. Чтобы его добавить в список, нужно нажать кнопку Add. Сделайте это и можете закрывать окно редактора путей нажатием кнопки ОК. После этого закройте окно настроек Delphi.

Если вы не добавите путь к исходным кодам в настройках Delphi, то компи­лятор не найдет их и при компиляции выдаст ошибку.

Когда вы устанавливаете пакет Runtime, то вам необходимо найти файл с расширением bpl в директории $(DELPHI)\Projects\Bpl и скопировать его в системную папку Windows.

Если у вас уже есть где-то откомпилированный пакет (файл с расширением bpl), то его можно сразу же установить в Delphi без компиляции. Но даже в этом случае наличие исходных программных кодов компонентов из пакета обязательно. Их надо будет записать в доступную для Delphi директорию или создать новую директорию, но добавить путь в настройках Delphi.

Для установки уже скомпилированного пакета выберите из меню Component пункт



Install Packages. Перед вами откроется окно установки пакетов, которое по­хоже на вкладку Packages окна свойств проекта. В принципе, можно использовать любое из этих окон.

Для установки нового пакета нужно нажать кнопку Add. Перед вами появит­ся стандартное окно открытия файлов. Найдите нужный bpl-файл и открой­те его. Delphi автоматически установит все компоненты из пакета в палитру компонентов.


База данных защищена авторским правом ©shkola.of.by 2016
звярнуцца да адміністрацыі

    Галоўная старонка