|
뭐가 문제죠? NItem을 메모리 할당도 안하고 쓰면 어떻하나요.. ^^
안될 것 없습니다.
TUserFrm *UserFrm = new TUserFrm(Application);
TListItem *NItem = new TListItem(); // 이부분 수정했습니다.
NItem->Caption = ""; //그룹
NItem->SubItems->Add(Email); //메일
NItem->SubItems->Add(Name); //이름
UserFrm->InitModify(NItem);
UserFrm->ShowModal();
delete UserFrm;
그리고 NULL이 나오는 문제는 Selected를 검사해 보세요.
Focus만 가 있고 역상으로 표시되지 않고 있는 상황이면 Selected가 NULL이 됩니다.
이런 경우는 아주 흔하게 나타나죠.
따라서
TTreeNode* pNode = TVAddrBook->Selected;
if (pNode)
{
pNode = pNode->Parent;
if (pNode)
{
String sParentText = pNode->Text;
}
}
이렇게 안전빵 코드를 작성하시는게 좋아 보이는군요.
c인 님이 쓰신 글 :
: TUserFrm *UserFrm = new TUserFrm(Application);
:
: TListItem *NItem;
:
: NItem->Caption = ""; //그룹
: NItem->SubItems->Add(Email); //메일
: NItem->SubItems->Add(Name); //이름
:
: UserFrm->InitModify(NItem);
:
: UserFrm->ShowModal();
:
: delete UserFrm;
:
: 소스는 대강 이렇습니다. 문제는 NItem을 UserFrm->InitModify()에 넘겨 줘야 한다는데 있습니다.
:
: UserFrm은 ListView가 있고 현재 폼에는 물론 없습니다.
:
: 그리고 트리뷸에서 선택된 노드의 부모 Text는 TVAddrBook->Selected->Parent->Text아닌가요?
:
: 왜 계속 Parent가 널이죠?? 물론 Selected의 Level이 1일때 NULL이 나온다는 말입니다..
:
: 음..새해부터 질문하는 군요^^; 새해 복 많이 받으시고 모두들 부~자 되세요
|