RTL Pak

School Pak | RTL Pak
Главная
Скачать

RTL Pak — это перераспространяемый набор динамических библиотек от разных версий Delphi и C++ Builder.

Зачем RTL Pak?

Известно, что Delphi с незапамятных времён поддерживает возможность связывать стандартные библиотеки динамически, в первую очередь, это rtl и vcl. Delphi часто можно было видеть предметом обвинений в излишнем размере («пустой проект с формочкой 330Кб»). Динамическое связывание стандартных библиотек как раз и решает проблему размера. Программа начинает весить считанные килобайты, при этом вся мощь Delphi и VCL под рукой. Всё это — ценой того, что нужно подключать намного бОльшие файлы rtl.bpl и vcl.bpl. Конечно, так почти никто не поступал (кроме разработчиков на C++ Builder по неопытности).

Это должно происходить по–другому. Это должно происходить так же, как и с .NET Framework. А почему бы и нет? .NET Framework 3.0 весит примерно 50Мб, и, тем не менее, программы под него умудряются доводить до пользователя. Неужели с Delphi так же не получилось бы? Не верю. Многим программистам и пользователям Delphi гораздо более по душе, чем .NET.

Конечно, ни мы, ни CodeGear не можем поставлять рантайм библиотеки с Windows, но можно поставлять их и с другими программами, выпускаемыми на CD/DVD. Самое главное здесь — некое единство. Потому что у одних Delphi 2006, у других 7, у третьих 2005, и от своей версии Delphi взять bpl не проблема, а вот другие версии в свободном доступе как–то не встречаются. И так ничего и не идёт на лад. От того, что у пользователя есть rtl от 2005, программисту на Delphi 7 ни горячо, ни холодно. Чтобы что–то изменить, нужно, чтобы вместе с программой (я имею в виду, программы на CD/DVD — там есть, где развернуться) устанавливались все версии rtl, а не только та, которая нужна для конкретной программы. Вы даже можете пойти навстречу Delphi и C++ Builder разработчикам и записать на свой CD/DVD RTL Pak просто так. В этом случае другой разработчик, распространяющий программу через Интернет, может расчитывать на то, что у пользователя уже есть стандартные библиотеки Delphi (или есть, откуда установить), и связывать их динамически.

К тому же, если набор библиотек оформлен в виде цельного набора, его проще распространять. Мало, кто будет заниматься поиском и сбором файлов по отдельности. Как минимум, это отнимает время. RTL Pak — это как раз такой вот цельный набор, в котором уже собраны самые разные версии. Вы можете выкладывать его на свои локальные сервера, записывать на сборники программ и драйверов. В общем, делать всё то же, что могли бы делать с установщиками .NET Framework или Java Runtime Environment. Вы также можете попросить создателей собственных сборок Windows (ZverCD, Black Edition и т. п.) интегрировать набор библиотек в свой дистрибутив.

В комплекте имеются библиотеки от:

Delphi

Включить динамическое связывание довольно просто. На примере Delphi 2009: Project » Options... » Packages » Build with runtime packages; в списке пакетов оставить только vcl;rtl

Build with runtime packages

Чтобы не проделывать это каждый раз для каждого проекта, можно поставить галочку Default и нажать OK.

C++ Builder

У этой среды разработки динамически можно связывать как RTL, так и BPL. По умолчанию включено связывание RTL, поэтому нередко можно видеть программы, требующие одну из библиотек cc32?0.dll. Дабы полностью использовать преимущества RTL Pak, нужно включить динамическое связывание и того, и другого.

На примере C++ Builder 2009:

  1. Project » Options...
  2. C++ Linker » Dynamic RTL = True (по умолчанию и так True)
    C++ Linker » Dynamic RTL = True
  3. Packages » Установить галочку Build with runtime packages; в списке пакетов оставить только vcl;rtl
    Build with runtime packages

Чтобы не проделывать это каждый раз для каждого проекта, можно поставить галочку Default и нажать OK.

Комментарии