|
비교적 많이 쓰는 함수인데 요즘 이상한 점을 발겼했습니다.
AddObject()의 두 번째 파라메터(TObject*)에 TObject의
포인터가 아닌 다른 상수 값을 넣으려고 하는데
이 값이 -1인 경우에는 TStrings::Objects[]에 들어가질 않습니다.
예를 들어
TStrings *list;
...
list->AddObject("first", (TObject) -1);
이런 식으로 작성하면 list->Strings[0]에는 "first"라는 아이템이
들어가지만, list->Objects[0]에는 아무것도 들어가지 않습니다.
이것을 보려고 하면 익셉션이 뜨는군요.
-2, -3도 괜찮은데 오직 -1만 안되는걸로 봐서
이 함수의 내부에서 뭔가 특별한 용도로 쓰는것 같기도 하고..
헬프에도 없고... 버그인가?
암튼 그렇습니다.
별로 고민될 것도 없는 부분에서 이런 문제가 생겨서
몇 시간 고생했네요. 흑.
|