Q&A

  • Circular unit reference 관련 오류 수정방법
안녕하세요.
코딩을 하고 있는 중에 위와 같은 오류가 발생하였으나 해결할 수 있는 방법을 모르겠네요.
Circular unit reference를 발생시키고 싶지는 않으나 클래스 구조상 어쩔 수 없이 이렇게 되었습니다.
문제를 해결할 수 있는 방법에 대해 아시는 분은 답변해주세요~
Internet에서 찾아본 결과로는 interface를 생성한 후에 그걸 이용해서 해결하면 된다는군요.
또는 유닛 두개를 합치는 방법을 제시하고 있는데요. 두개의 유닛이 서로 역할이 다르므로 두개를 합치는것은 좋은방법은 아니라고 생각이 되더군요.
이방법 이외에 다른방법이 있는건지 아니면 interface를 사용하는 방법이 최선의 선택인지 알고싶네요.
코드는 대략 아래와 같습니다.
<!--CodeS-->
->UnitA
  TClassA = class(TObject)
  private
    FOwner : PClassB;
  public
    ..........

->UnitB
TClassB = class(TObject)
private
   FA : TClassA;
.........
<!--CodeE-->

답변 꼬옥 부탁 드려요~
1  COMMENTS
  • Profile
    모영철 2005.03.25 20:50
    글쎄 어떤 구조인지는 모르나

    객체지향적으로 만드셨다면 서로 참조하는 일은 안벌어질듯 싶습니다.

    A가 B를 참조하고 B가 A를 참조한다면

    차라리 C클래스를 만들어서 두개를 컨트롤 해주는게 낫지 않을까요..