Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Ошибка при компиляции исходников 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
Можно спросить - на фига?


Наверх

Титульная страница Поиск, карта сайта Написать письмо