Delphi 6 - ошибки исчезают при многократной компиляции - PullRequest
5 голосов
/ 04 мая 2010

В течение последних нескольких месяцев моя установка Delphi шла из-за спада. Кажется, однако, что очень часто, когда я собираю релиз, в нем появляются странные ошибки, которые разрешаются, если я собираю, потом компилирую, потом собираю, компилирую и т. Д.

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

В чем проблема переполнения стека, может быть проблемой.

Ответы [ 3 ]

7 голосов
/ 04 мая 2010

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

5 голосов
/ 04 мая 2010

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

0 голосов
/ 04 мая 2010

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

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

...