|
죄송해요. 이부분이 문제 있던게 아니었나봐요.
딴 거 지우는 거의 순서가 잘못되었던 듯..
에고.. 담부텀은 너무 당장당장 물어보지 않도록 할께요 ^^;
nassol 님이 쓰신 글 :
: 에궁,, 또 질문하기 민망하네요 =.=
: 그래두,, 철판을 깔구..
: 에러에 대한 질문인데요.
: 안녕하세요, 질문이 있는데요. 폼이 소멸할 때,
: 에러가 나서 그러는데요,
: 폼 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; //리스트를 가리키는 메모리 지움
:
: 위에 처럼 지워줬구요, 혹시 실수한 부분이 있어서 그거 때문에
: 폼이 소멸할 때 에러가 나는 거면 좀 지적해주세요. 아무리 뜯어봐두
: 제 눈엔 안보이네요 --;;
:
: 감사합니다.
|