Циклические ссылки между модулями

Циклические ссылки между модулями

Циклические ссылки модулей в интерфейсных частях запрещены. Например, следующая ситуация ошибочна:

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.