On Tue, 14 Nov 2006 11:03:24 +0300, "Oleg LOA" <[EMAIL PROTECTED]> wrote:
>>>Эх вот от Delphi пакеты можно было бы пересобирать > >> Нарыл в архиве: >> -From: "Arioch /BDV/" >> .... > >И какое ЭТО имеет отношение к пересборке того же VCL50.BPL? Я думал что sapiente sat, но придется разжевать по пунктам: 1 В Дельфе создать пакет (в меню File-New-Other-Package ) 2 Видим в пустом пакете секцию Requires и добавляем (Add..) в нее стандартный пакет над которым будем измываться. Добавляются туда файлы dcp которые лежат в каталоге lib, например vcl.dcp 3 Делаем двойной щелчок на имени добавленного пакета и Дельфин открывает (в данном случае создает) его dpk файл. 4 Сохраняем dpk под другим именем, чтобы не было конфликта со стандартным пакетом. например vclMY.dpk 5 Закрываем все и переоткрываем vclMY.dpk Это ключевой момент всей истории. Получили список модулей входящих в пакет! Можно (и нужно) в опциях понастраивать компилятор и линкер - нужный режим отладка/релиз. 6 Теперь нажать - Компилировать и пакет пересоберется под новым именем. Получили vclMy.dcp и vclMy.BPL дальше можно: 7.1 Либо добавить в параметрах пакета путь поиска исходников (опции пакета-directories-search path ) Исходники лежат в подкаталогах source в данном случае source\vcl или какой там надо. Теперь можно щелчком на имени модуля (бла-бла*.pas) в списке Contains открыть исходник, и при компиляции пакет будет собираться с компиляцией исходников! 7.2 Либо, если нет нужды править _все_ модули пакета. Обычно хочется изменить что-то одно: Не добавляем путь поиска ко всем исходникам! Вместо этого просто копируем исходник нужного модуля в каталог где лежит dpk. 8 Делаем Build! сравниваем размер полученных dcp и bpl со стандартными bpl Размер может отличаться, это значит, что настройки компилятора не такие как у Борландов. Или версия компилятора другая. 9 Полученными файлами dcp и bpl заменяем (переименовываем)соответствующие файлы стандартного пакета. Также заменяем dcu от правленных модулей в каталоге lib. 10 Собираем тестовый проект в котором наслаждаемся сделанными правками. 11 Начинаем думать в сторону создания наследников от стандартных классов и создания обертки над немодифицированными стандартными пакетами. 12 Думаем. 13 Вертаем все назад к стандартным немодифицированным пакетам. IL ps я считаю неверным править стандартные библиотеки. При переустановке среды или передаче исходников другому разработчику неизбежна неразбериха. Я при необходимости создаю свои компоненты на основе исходных текстов из Дельфи. Беру файл pas и переименовываю класс компонента. В этом (уже моем, а не стандартном) компоненте делаю изменения поведения. Такого мутанта поддерживать гораздо легче.

