Моя установка Delphi спускалась в течение прошлых нескольких месяцев. Это кажется, хотя это время от времени, когда я создаю выпуск, он имеет странные ошибки в нем, которые разрешены, если я создаю, затем скомпилируйте, затем создайте, скомпилируйте и т.д.
Я говорил с другим разработчиком, который думает, что это - ошибка компилятора. Этот вид ухудшающейся производительности со временем происходил на других компьютерах с нами также.
То, что делает переполнение стека, думают, могло быть проблемой.
Чаще всего я встречал случаи, когда несколько версий одного и того же юнита/диска существуют в разных папках/путях, и в зависимости от почти незначительных вариаций компилятор/линковщик использует другой путь и выбирает разные версии юнитов для сборки exe.
Я бы сделал огромную чистку Spring, тщательно проверил пути lib/search, удалил все dcus и убедился, что нет дублирующихся версий любого блока.
И, согласен, переустановка Delphi могла бы помочь начать с чистого состояния.
Это не так уж и много, но звучит как классический случай «гниения». Слишком много вещей взаимодействуют слишком разным образом в течение слишком долгого времени в плохо спроектированной ОС, что приводит к странным формам повреждения данных.
Первым делом я бы удалил Delphi и переустановил. Если это не помогло, попробуйте переустановить Windows. (Если это произошло достаточно долго, возможно, вам все равно придется переустановить ОС.) А если это не сработает, обратитесь в службу технической поддержки Embarcadero.
Я согласен с @François по поводу DCU, но также хочу отметить одно наблюдение: иногда имеет значение, что было создано до того, что вы создаете. Например. Если у вас есть несколько проектов, содержащих исходный код, который приводит к созданию различных .dcu/bpl файлов в общем каталоге, но проект, который вас интересует, явно не требует их пересборки, то в итоге вы получите то, что там есть. Если вы очистите dcus/dcps перед сборкой, а затем обнаружите, что ваш проект не собирается, значит, вы где-то пропустили пункт uses/requires. Каждый проект должен быть способен собираться с "чистого листа", а не полагаться на остатки двоичных файлов.