444______________________________________________Глава 7

При изменениях списка в окне Design packages одновременно будет меняться и
перечень пакетов времени выполнения Runtime packages в окне редактирования
внизу. Для каждого конкретного приложения вы можете удалить из списка Design
packages очень многие пакеты времени проектирования. Но никакого выигрыша в
размере выполняемого модуля вы за счет этого не получите, поскольку C++Builder
в любом случае не включит в модуль ничего лишнего. Однако, удаляя из этого спи-
ска все лишнее и повторяя создание выполняемого модуля вы можете установить
тот минимальный набор пакетов, который вы должны поставлять вместе с вашим
приложением (конечно в случае, если вы используете поддержку пакетов).

Чтобы почувствовать, что дают пакеты времени выполнения, проведите небо-
льшой эксперимент. Постройте простейшее приложения C++Builder с пустой фор-
мой:

1. Откройте новый проект. Сохраните его под именами по умолчанию рго-
jectl.dpr и unitl.cpp.

2. Выполните команду Project | Options.

3. В раскрывшемся окне опций проекта Project Options выберите страницу Linke'
выключите на ней индикатор Use dynamic RTL (использовать динамическое свя-
зывание).

4. Перейдите на страницу Packages и выключите на ней индикатор Built with runti-
me packages (строить с пакетами времени выполнения).

5. Выполните команду Project | Build. В результате будет создан выполняемый мо-
дуль projecti.exe без поддержки пакетов.

6. Посмотрите размер получившегося файла, воспользовавшись для этого, на-
пример, программой Windows «Проводник». Размер этого файла будет доста-
точно внушительным — 335 Кб, поскольку модуль включает в себя все ском-
пилированные в него коды библиотеки компонентов.

7. Опять выполните команду Project Options, и в окне опций проекта Project Opti-
ons на странице Linker включите индикатор Use dynamic RTL, а на странице Pac-
kages включите индикатор Built with runtime packages.

8. Перестройте ваш выполняемый модуль, выполнив команду Project | Build (как в
пункте 4).

9. Посмотрите теперь размер вашего файла projecti.exe с поддержкой пакетов.
Размер сократился до 22 Кб.

Таким образом, в очень простом примере поддержка пакетов позволила умень-
шить размер выполняемого файла на порядок. Близкое соотношение размеров со-
храняется и в более сложных приложениях. Например, рассмотренный в главе 9
достаточно сложный пример работы с базами данных имеет выполняемый файл
без поддержки пакетов размером в 716 Кб, а при поддержке пакетов размер сокра-
щается до 69 Кб.

При разработке приложений с поддержкой пакетов надо иметь в виду, что па-
кеты используют API Windows, содержащийся в различных DLL. Если какая-то
из этих DLL у потребителя вашего программного продукта ошибочна или не соот-
ветствует по дате (версии), у вас могут возникнуть проблемы. Их можно избежать,
если проверять свое приложение на той системе, для которой оно предназначено,
или на чистых установках Windows 95/98 и NT; тогда сможете быть уверенными,
что оно будет выполняться без ошибок, и будете знать, что требуется вашему при-
ложению для нормальной работы. В результате вы сможете убедиться, что вклю-
чаете в поставку все необходимые файлы, или можете потребовать от пользователя
работать на определенной версии операционной системы с определенными уста-
новками путей и т.д.