Как избежать обращения к круговой единице?

Представьте себе следующие два класса шахматной игры:

TChessBoard = class
private
  FBoard : array [1..8, 1..8] of TChessPiece;
...
end;

TChessPiece = class abstract
public
   procedure GetMoveTargets (BoardPos : TPoint; Board : TChessBoard; MoveTargetList : TList );
...
end;

Я хочу, чтобы два класса были определены в двух отдельных единицахChessBoard.pas а такжеChessPiece.pas.

Как я могу избежать ссылки на круговую единицу, с которой я здесь сталкиваюсь (каждая единица нужна в другой единице »раздел интерфейса)?

Ответы на вопрос(9)

Ваш ответ на вопрос