Представьте себе следующие два класса шахматной игры:
TChessBoard = class
private
FBoard : array [1..8, 1..8] of TChessPiece;
...
end;
TChessPiece = class abstract
public
procedure GetMoveTargets (BoardPos : TPoint; Board : TChessBoard; MoveTargetList : TList <TPoint>);
...
end;
Я хочу, чтобы два класса были определены в двух отдельных единицах ChessBoard.pas и ChessPiece.pas.
Как я могу избежать ссылки на круговую единицу, на которой я здесь нахожусь (каждый блок необходим в другой секции интерфейса устройства)?