Циклические ссылки между модулями
Циклические ссылки модулей в интерфейсных частях запрещены. Например, следующая ситуация ошибочна:
unit A;
interface
uses B;
implementation
end.
unit B;
interface
uses A;
implementation
end.
Таким образом, невозможно определить два общедоступных класса в разных модулях с объектными полями, ссылающимися друг на друга.
Однако, если одна ссылка находится в интерфейсной части, а вторая - в части реализации, или обе - в частях реализации, то циклические ссылки в этом случае разрешены:
unit A;
interface
implementation
uses B;
end.
unit B;
interface
uses A;
implementation
end.