У меня есть модуль данных, который используется во всех наших бизнес-приложениях.Это в реализации использует предложение почти каждого модуля в проекте.
Я могу изменить бизнес-логику и другой код в разделе реализации модуля данных и скомпилировать без каких-либо проблем.Однако любое изменение в разделе интерфейса модуля данных и последующей компиляции приводит к ошибке компилятора «Модуль MyDataModule рекурсивно использует сам себя».Сборка вместо компиляции устраняет ошибку.
Это новая версия, которую я раньше не видел.Конечно, я проверил, чтобы убедиться, что модуль данных рекурсивно не используется, и если бы это было на самом деле, сборка ничего бы не изменила.
Есть ли у кого-нибудь идеи о том, как отслеживатьэто вниз или это исправить?Действительно раздражает необходимость компилировать, закрывать диалоговое окно с ошибкой, а затем создавать каждый раз, когда в модуль данных вводится новый запрос или метод.
EDIT : обращение к некоторым комментариям ниже ив ответе @ Marjan:
Я не использую варианты или отладку dcus.Я попытался найти решение в одном из результатов поиска Google, которое выглядело обещая о поврежденных файлах .identcache или .local, но не сработало.
Предложение Tried @ Jørn;очистил все temp и скомпилировал .dcus, сделал компиляцию, и все хорошо.Сделал изменение в интерфейсе (объявил булеву переменную в закрытом разделе объявления класса модуля данных) и нажал Ctrl + F9 для компиляции.Ошибка.Сделал Build, все хорошо.Компиляция тогда работает нормально.Удалите логическое значение, попробуйте скомпилировать: ошибка.
У меня есть примерно 20 проектов одинакового размера (~ 750K-1M LOC), ни один из которых не демонстрирует такого поведения.Я четыре раза проверил, что модуль данных не находится в разделе интерфейса ни одного из модулей в проекте.Сам модуль данных не очень большой (всего 8 345 строк от «единицы» до «конца», включая комментарии и пустые строки).Файл .dfm, представленный в виде текста, содержит в общей сложности 8 916 строк.
РЕДАКТИРОВАТЬ 2 : Я полагаю, мне придется принять (пока что, во всяком случае), что это сбой компилятора,Я собираюсь попробовать кое-что перестроить, чтобы разбить некоторые функциональные возможности на отдельный модуль данных, чтобы увидеть, является ли это ограничением по размеру (возможно, элементами в DFM) или чем-то еще.Спасибо за все усилия.