Динамическая загрузка пакетов

Иногда требуется загружать необходимый пакет во время работы приложения. Для этой цели служит функция LoadPackage. Данная функция находится в модуле Kylix SysUtils. Описание этой функции имеет следующий вид:

function LoadPackage(const Name: string): HMODULE;

В качестве передаваемого функции параметра служит имя файла пакета типа string. Вызов данной функции очень прост:

LoadPackage('Имя файла пакета');

Для динамической выгрузки пакета применяется процедура UnloadPackage. Эта процедура также содержится в модуле SysUtils. Ее описание имеет вид:

procedure UnioadPackage(Module: HMODULE);

При вызове данной процедуры будьте осторожны, чтобы не уничтожить экземпляры классов, определенных в пакете.

Среда Kylix поставляется с уже установленными пакетами компонентов, которые поддерживают основные компоненты, необходимые для создания стандартных приложений Linux. Наибольшее число стандартных компонентов Kylix содержится в уже знакомом нам пакете bplclx. Но данный пакет не содержит многие компоненты, например компоненты для работы с базами данных. Эти компоненты находятся в других пакетах Kylix (например, компоненты, предназначенные для работы с базами данных, находятся в пакете bpldataclx). Однако, несмотря на это, для работы с базами данных вам понадобятся оба пакета: bplclx и bpldataclx. В табл. 20.2 перечислены пакеты времени выполнения, поставляемые с Kylix, а также модули (units), входящие в данные пакеты.

Таблица 20.2. Основные runtime пакеты Kylix

Имя файла пакета

Модули, входящие в пакет

bplclx.so.6

Classes, Consts, Contnrs, IniFiles, MaskUtils, QactnList, QButtons, Qclipbrd, QcomCtrls, QcomStrs, QConsts, Qcontrols, QDialogs, QextCtrls, QForms, Qgraphics, QGrids, QImgList, QMask, QMenus, Qsearch, QStdActns, QStdCtrls, QStyle, QTypes, SyncObjs, TypInfo

bpldataclx. so. 6

DB, DBClient, DBCommon, DBConnAdmin, DBConsts, DBXpress, DSIntf, MidConst, Midas, Provider, QDBCtrls, QDBGrids, SqlConst, SqlExpr

Рассмотрим теперь пакеты разработки, которые поставляются вместе с Kylix (табл. 20.3). Напомним, что данные пакеты используются IDE Kylix для установки компонентов в палитру компонентов, задания свойств компонентов и многого другого.

Таблица 20.3. Основные design-time пакеты Kylix

Имя файла пакета

Вкладки палитры компонентов

dclstd

Standard, Additional, Common Controls, Dialogs

dcldbdesign

Data Controls, dbExpress, Data Access

dclnet

Internet

dclindy

Indy Clients, Indy Servers, Indy Mlsc

Все вышеперечисленные пакеты разработки вызывают при своей работе пакеты времени выполнения. Например, пакет dclstd вызывает bplclx. Первый пакет содержит код, который позволяет делать доступными многие компоненты, входящие во второй пакет на палитре компонентов Kylix.

В дополнение ко всем рассмотренным выше пакетам вы можете устанавливать в IDE пакеты собственного производства, а также пакеты, созданные другими разработчиками. Пакет Kylix dclusr является стандартным контейнером для новых компонентов.

Hosted by uCoz