Когда я разрабатываю свой проект, и основная форма открыта (довольно большой, десятки компонентов всего вида), процесс сборки создает файл, названный 'c' в папке проекта.
Файл пуст.
Если я закрываю основную форму в IDE, процесс сборки не создает тот файл.
Как я могу узнать то, что вызывает это и почему компилятор заботится, какие файлы открыты в IDE в данный момент, сборка запускается?
Если у вас установлен CnWizard, то этот инструмент создает пустые c-файлы. Что касается домашней страницы, то это уже исправлено в бета-версии. Необходимо дождаться выхода этой версии.
Я думаю, что один из ваших компонентов (вероятно, сторонний) имеет пользовательский потоковый код (defineproperties и тому подобное) и генерирует этот файл как нестандартный tempfile.
Если форма открыта, файл мутирует, поэтому при компиляции форма переходит из .dfm в .res и проходит через код designtime того компонента, который создает этот файл.
Самый простой способ выяснить это - начать удалять компоненты в копии проекта, пока поведение не исчезнет. Затем попробуйте покопаться в соответствующем коде designtime, если сможете найти виновника.