Jak uniknąć okrągłego odniesienia jednostki?
Wyobraź sobie następujące dwie klasy gry w szachy:
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;
Chcę, aby dwie klasy zostały zdefiniowane w dwóch oddzielnych jednostkachChessBoard.pas iChessPiece.pas.
Jak mogę uniknąć okrągłego odwołania do jednostki, w którym się tu znajduję (każda jednostka jest potrzebna w sekcji interfejsu innej jednostki)?