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 и переименовываю класс компонента. В этом (уже моем, а не
стандартном) компоненте делаю изменения поведения. Такого мутанта поддерживать
гораздо легче.

Ответить