unit SimpleList;interfaceuses SysUtils;...TSimpleList = class(TObject)
...
end;implementation{**************}unit CompetitorList;interfaceuses SysUtils, SimpleList, Competitor;type
  TCompetitorList = class(TSimpleList)...end;implementation{**************}unit Competitor;interfaceuses SysUtils, EventList;type
  TCompetitor = class(TObject)
    private
...
      Events : TEventList;...end;implementation{**************}unit EventList;interfaceuses SysUtils, SimpleList, Event;type
  TEventList = class(TSimpleList)...end;implementation{**************}unit Event;interfaceuses SysUtils, CompetitorList;type
  TEvent = class(TObject)
    private
...
      Competitors : TCompetitorList;    public
...      procedure AssignMedalWinner(competitor:TCompetitorList;medaltype:integer);
      procedure RemoveCompetitor(competitor:TCompetitorList);end;implementationdesign是这样的,competitorlist用到competitor,eventlist用到event,但是在event里面又用到competitorlist,competitor里面用到eventlist,这样写出来以后就造成了circular unit reference,我已经试过把uses甚至type放在impelementation下面,都不行,各位大虾有没有什么解决办法啊?