Delphi 6 - Ошибки исчезают, когда я компилирую многократно

Моя установка Delphi спускалась в течение прошлых нескольких месяцев. Это кажется, хотя это время от времени, когда я создаю выпуск, он имеет странные ошибки в нем, которые разрешены, если я создаю, затем скомпилируйте, затем создайте, скомпилируйте и т.д.

Я говорил с другим разработчиком, который думает, что это - ошибка компилятора. Этот вид ухудшающейся производительности со временем происходил на других компьютерах с нами также.

То, что делает переполнение стека, думают, могло быть проблемой.

5
задан Daisetsu 4 May 2010 в 17:13
поделиться

3 ответа

Чаще всего я встречал случаи, когда несколько версий одного и того же юнита/диска существуют в разных папках/путях, и в зависимости от почти незначительных вариаций компилятор/линковщик использует другой путь и выбирает разные версии юнитов для сборки exe.
Я бы сделал огромную чистку Spring, тщательно проверил пути lib/search, удалил все dcus и убедился, что нет дублирующихся версий любого блока.
И, согласен, переустановка Delphi могла бы помочь начать с чистого состояния.

7
ответ дан 13 December 2019 в 05:32
поделиться

Это не так уж и много, но звучит как классический случай «гниения». Слишком много вещей взаимодействуют слишком разным образом в течение слишком долгого времени в плохо спроектированной ОС, что приводит к странным формам повреждения данных.

Первым делом я бы удалил Delphi и переустановил. Если это не помогло, попробуйте переустановить Windows. (Если это произошло достаточно долго, возможно, вам все равно придется переустановить ОС.) А если это не сработает, обратитесь в службу технической поддержки Embarcadero.

0
ответ дан 13 December 2019 в 05:32
поделиться

Я согласен с @François по поводу DCU, но также хочу отметить одно наблюдение: иногда имеет значение, что было создано до того, что вы создаете. Например. Если у вас есть несколько проектов, содержащих исходный код, который приводит к созданию различных .dcu/bpl файлов в общем каталоге, но проект, который вас интересует, явно не требует их пересборки, то в итоге вы получите то, что там есть. Если вы очистите dcus/dcps перед сборкой, а затем обнаружите, что ваш проект не собирается, значит, вы где-то пропустили пункт uses/requires. Каждый проект должен быть способен собираться с "чистого листа", а не полагаться на остатки двоичных файлов.

5
ответ дан 13 December 2019 в 05:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: