|
에궁,, 또 질문하기 민망하네요 =.=
그래두,, 철판을 깔구..
에러에 대한 질문인데요.
안녕하세요, 질문이 있는데요. 폼이 소멸할 때,
에러가 나서 그러는데요,
폼 OnCreate에서 이것저것 메모리 할당을 해주고 폼 OnClose이벤트 발생하면 그것들
다 메모리 해제해주었거든요 .근데 에러가 자꾸 나서요.
break point를 걸어보면, OnClose이벤트 핸들러에 있는 거에선
문제가 없구 그 다음에 하나씩 아래 순서로 가거든요.
/*forms.hpp*/
/* TCustomForm.Destroy */ inline __fastcall virtual ~TForm(void) { }
/* TCustomForm.Destroy */ inline __fastcall virtual ~TForm(void) { }
/* TCustomForm.Create */ inline __fastcall virtual TForm(Classes::TComponent* AOwner) : TCustomForm(
AOwner) { }
/* TCustomForm.Destroy */ inline __fastcall virtual ~TForm(void) { }
/* TCustomForm.Destroy */ inline __fastcall virtual ~TForm(void) { }
/*dstring.h*/
// Constructors
__fastcall AnsiString(): Data(0) {} <-- 에러나는 부분
젤 아랫줄, 저기서 에러가 나거든요.
에러 내용은 InvalitPointer operation이라고 나오고요.
머 지우지 않을 거를 지우지는 않은 거 같은데..
모르는 일이지만 ^^;
혹시, 어떤 실수로 저런 에러가 나는 지 아시면
답변 부탁드립니다.
아참 그리고, TList사용할 때, 아이템을 따로따로 다 지워줘야 한다는 글을
오늘에야 읽어서 부랴부랴 다 고쳤거든요.
그거 고친다음에 위의 에러가 나기도 한거구요 --+
어떻게 아이템 지워줬냐면.
...Create(TObject *Sender...) //폼 Create이벤트에서
TList *UserList = new TList; //요렇게 생성시켜두고
TUser *User1 = new TUser;
TUser *User2 = new TUser;
User->Name = "nassol";
User->Name = "oessol";
UserList->Add((TUser*)User1;
UserList->Add((TUser*)User2; //요렇게 아이템 추가해주었구요.
...Close(TObject *Sender...) //홈 CLose이벤트에서
while(UserList->Count)
{
delete (TUser*) UserList->Items[0]; //아이템 메모리 해제
UserList->Delete(0); //아이템을 가리키는 메모리 지움 --;
}
delete UserList; //리스트를 가리키는 메모리 지움
위에 처럼 지워줬구요, 혹시 실수한 부분이 있어서 그거 때문에
폼이 소멸할 때 에러가 나는 거면 좀 지적해주세요. 아무리 뜯어봐두
제 눈엔 안보이네요 --;;
감사합니다.
|