![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Ошибка при компиляции исходников Delphi [D7, Win2k]
Tualan © (2005-11-02 20:04:00)Указываю в путях LibraryPath, сорцы Delphi
$(DELPHI)\Source\Rtl\Sys
$(DELPHI)\Source\Rtl\Win
$(DELPHI)\Source\Rtl\Common
вылетает ошибка
[Fatal Error] Variants.pas(1024): Program or unit 'Variants' recursively uses itself
хотя ничего не менял. Как откомпилить?
Tualan (2005-11-03 15:15:00) [1]
> Указываю в путях LibraryPath, сорцы Delphi
>
> $(DELPHI)\Source\Rtl\Sys
> $(DELPHI)\Source\Rtl\Win
> $(DELPHI)\Source\Rtl\Common
>
> вылетает ошибка
>
> [Fatal Error] Variants.pas(1024): Program or unit 'Variants'
> recursively uses itself
Дело в том, что и на "чистой" Delphi тоже самое.
VCL допустим и не надо перекомпиливать, нужно Rtl и оно компилится без
> $(DELPHI)\Source\Rtl\Sys
где злосчастный Variants и лежит.
> [Fatal Error] Variants.pas(1024): Program or unit 'Variants'
> recursively uses itself
Ошибка неверно выводиться, да и ссылается на строчку внутри кода, где всё верно (иначе и быть не может, писал то Борланд).
Amoeba (2005-11-03 14:17:00) [2]
> Пакеты vcl*.bpl ты не перекомпилируешь
Разумеется, иначе и быть не может. Ведь исходники пакетов просто недоступны, т.к. Borland их никому не открывает.
DrPass (2005-11-03 13:39:00) [3]Ну вот видишь - сам напоролся на эти грабли...
Чтобы перекомпилировать system.pas, нужно указать специальный ключик компилятору dcc32. -y, кажется. Но я могу и ошибаться, в справке его нет. Этот ключик включает ту самую "compiler magic" (c) комментарии в system.pas
Пакеты vcl*.bpl ты не перекомпилируешь,там отсутствует небольшая часть исходников, если верить Ч. Калверту.
А если речь идет о нескольких отдельных модулях, кинь их в папку с проектом. Что касается модуля variants, то сам на себя он не ссылается, с ним все в порядке - это, скорее всего, последствия твоих модификаций
Tualan (2005-11-03 13:24:00) [4]Надо всё вместе, чтобы при изменении RTL/VCL можно было скомпилить проект.
Плохиш (2005-11-03 10:57:00) [5]dcc32 может модули по отдельности компилировать
Tualan (2005-11-03 10:27:00) [6]У меня проект, который уже использует изменненные модули, я не могу его скомпилить. Но он как-то же компилился раньше...
DrPass (2005-11-02 22:43:00) [7]Borland против перекомпилирования RTL/VCL. Да и не нужны там никакие перекомпилирования, кроме как для "поэкспериментировать"
Если тебе сильно нужно изменить конкретный модуль, брось измененную версию в каталог своей программы.
Tualan (2005-11-02 20:38:00) [8]
> Sergey Masloff (02.11.05 20:07) [1]
Можно. Чтобы перекомпилить с изменениями.
А как иначе?
Sergey Masloff (2005-11-02 20:07:00) [9]Tualan (02.11.05 20:04)
>Указываю в путях LibraryPath, сорцы Delphi
Можно спросить - на фига?