Простая ситуация: Два класса ссылаются друг на друга. Это вполне допустимо и реализуется с помощью forward-объявления.
Но, еще надо разнести эти классы в разные модули. И как теперь быть, ведь на другой модуль forward не действует?
// UnitA.pas
TMyClassA = class
fClassB : TMyClassB;
end;
// UnitB.pas
TMyClassB = class
fClassA : TMyClassA;
end;
М.б. есть какие-нибудь хитрости, трюки (например, сделать 3й модуль связующий) ?