|
답변 감사합니다.
그런데 동일 코드에서 Item 클래스를 TObject 로부터 상속을 받도록 하니 Clear() 메쏘드도 정상적으로 수행을 하네요..
그래서 다시 상속을 받지 않고 일반 클래스에 소멸자를 추가해서 테스트를 하면 문제가 발생됩니다
어찌하여 TObject 로부터 상속을 받으면 문제가 되지 않는지 찾아봐야겠네요.. ^^*
김태선 님이 쓰신 글 :
: 헬프를 잘 살펴보시기 바랍니다.
: TObjectList 를 해당 아이템을 ->Delete 하거나 ->Clear 하면
: 해당 아이템 포인트 뿐만 아니라 실제 할당한 객체가 메모리에서 사라지기 때문에
: 단순히 포인트만 관리하는 TList 와 큰 차이가 있습니다.
:
: 객체가 사라진 후 재 대입등은 없는 객체를 대입한 것이므로 당연히 에러를 내게 됩니다.
:
: 그럼.
:
:
: ASURADA 님이 쓰신 글 :
: : TObjectList 를 사용하려 하는데
: :
: : 일반클래스 하나 선언하고
: :
: : TObjectList* pList; 선언후 프로그램 내에서 pList->Add((TObject *)MyClass); 로 추가를 하는건 정상적으로 된것 같은데....
: :
: : 리스트를 클리어하고 다시 리스트 갱신을 시도했는데..
: :
: : pList->Clear(); 를 수행하면 에러나 나 버리더군요..
: :
: : pList->Free(); 를 하여 다시 생성을 시도하려해도 Free() 명령을 수행하면 같은 에러가 발생합니다.
: :
: : TObjectList를 처음 사용하는데 참고 자료도 찾기 힘들군요...
: :
: : 혹시 샘플 코드나 참고 자료의 위치를 알 수 없을까요?
|