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下面,都不行,各位大虾有没有什么解决办法啊?
...
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下面,都不行,各位大虾有没有什么解决办法啊?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货