При работе с модулями может возникнуть ситуация когда один модуль использует что-либо из второго, а второй в тоже время из первого.
Если оба модуля подключаются к друг к другу директивой Uses в разделе Implementation, то закольцованость разрешается автоматически и компилятором.
Если хотя бы один из модулей подключает другой в разделе interface, то проблема решается путем организации третьего модуля, в которым помещаются все элементы из первого и второго модуля, ссылающиеся друг на друга. И этот модуль подключается к первому и ко второму.