Q&A

  • 하나의 Tlist에 다른 Tlist 형을 추가할 수 있나요?
Tlist를 사용해서 링크드 리스트 구조을 처리 하려고 하는데요
아래와 같이 해도 되는 것인지??
  Taaa = class;
    ..
   end;

  Tbbb = class;
   ..
   end;

Ttest = class;
    FLDataList : Tlist;
    FLParametaList : Tlist;
  end;

var
  aaa : Taaa;
  bbb : Tbbb;
  test : Ttest;
  FLTotalFileSet : Tlist;

begin
  test := Ttest.Creat; FLTotalFileSet := Tlist.Creat;
  aaa := Taaa.Creat; bbb := Tbbb.Creat;


  ...
  어쩌구 저쩌구
  ..


  test.FLDataList.Add(aaa);
  test.FLParametaList.Add(bbb);

  FlTotalFileSet.Add(test);

end;
2  COMMENTS
  • Profile
    윤수아 2003.10.31 03:03
    다른 TList를 포함했다기 보다는 Ttest 클래스가 TList를 포함하고 있고
    Ttest 클래스객체가 TList에 add되는 형식이네요..
    문법적으로는 별 이상이 없는 것 같구요..
    보통은...클래스객체를 List화해서 관리하려고 할때 관리클래스를 만듭니다.
    여기서는 Ttest 객체들을 관리할 클래스를 하나 더 만들어 주시는 게 좋을 것 같네요...(뭐 정확히 하시려는 일이 뭔지는 모르겠지만... 그냥 담아두는 게 아니라면 TTestListClass 이런식으로 클래스를 하나 더 만들어 놓으시면 메소드와 프로퍼티를 통해서 접근할 수 있게 되므로 쓰기에 더 편할 실 것 같구요)

    음 또... 이건 질문과는 상관없는데...
    이렇게 해주셨는데...
    차라리 test Class에 addObj 같은 메서드를 하나 만드시고 거기에 오브젝트를 넘기셔서 메서드내에 로직은 넘어온 오브젝트가
    Taaa 타입이면 test.FLDataList.Add(aaa);        이렇게
    Tbbb 타입이면 test.FLParametaList.Add(bbb); 이렇게
    해주는 것으로 코딩을 해놓으시면 외부에서는
    test.addObj(aaa);
    test.addObj(bbb); 이렇게만 호출해주면 되니까 외부에서 그 클래스를 갖다 쓰기가 간결해질 것 같네요...

  • Profile
    델파이Go! 2003.10.31 21:26
    제가 구현하고자 하는 구조를 첨부 화일에 그림 파일로 올렸습니다.
    이 구조를 구현하기 위해서 여러가지를 시도 해봤는데 계속 에러만 발생합니다.
    조언좀 부탁드립니다.
    앞서 제가 문의 드린바와 같이 새로운 자료를 계속 추가는 했는데
    그 값을 다시 읽어 들이려고 하는 자꾸 에러가 생깁니다.
    제가 올린 질문의 구문들이 문법상으로 오류가 없다고 하셨는데요
    그럼 그 값들을 다시 읽어 들이려면 어떻게 해야하는지요?