|
적용은 해보았으나 아직 똑같은 상황이네요.(아직도 메모리가 해지되지 않습니다.)
빠른 답변 감사드립니다.
님이 쓰신 글 :
: while(m_lList->Count)
: : {
: : delete (ST_DATA*)(m_lList->Items[0]);
: : m_lList->Delete(0);
: : }
: :
: : delete m_lList;
: :
: : ShowMessage(L"삭제 완료");
:
: 이부분을
: for(int i = 0; i < m_IList->Count; i++)
: {
: ST_DATA *pstData = (ST_DATA *) m_IList->Items[i];
: delete pstData;
: }
:
: delete m_IList;
:
: 로 바꿔보세요
:
:
:
: MoveJ 님이 쓰신 글 :
: : 안녕하세요. TList를 사용하는 중에 메모리 누수 문제가 있어서 질문드립니다.
: :
: : void __fastcall TForm3::Button1Click(TObject *Sender)
: : {
: : ST_DATA* pData;
: :
: : int i;
: :
: : m_lList = new TList();
: :
: : m_lList->Clear();
: :
: : for(i = 0; i < 10000; i++)
: : {
: : pData = (ST_DATA*)new ST_DATA;
: :
: : memset(pData, 0x00, sizeof(ST_DATA));
: :
: : m_lList->Add(pData);
: : }
: :
: : ShowMessage(L"추가 완료");
: : }
: : //---------------------------------------------------------------------------
: :
: : void __fastcall TForm3::Button2Click(TObject *Sender)
: : {
: : while(m_lList->Count)
: : {
: : delete (ST_DATA*)(m_lList->Items[0]);
: : m_lList->Delete(0);
: : }
: :
: : delete m_lList;
: :
: : ShowMessage(L"삭제 완료");
: : }
: : //---------------------------------------------------------------------------
: :
: : typedef struct _Data
: : {
: : bool bBool1;
: : bool bBool2;
: : int nInt1;
: : DWORDLONG dwlDWORDLONG1;
: : DWORDLONG dwlDWORDLONG2;
: : DWORDLONG dwlDWORDLONG3;
: : DWORDLONG dwlDWORDLONG4;
: : }ST_DATA;
: :
: : 위 소스는 메모리 해지 테스트를 위해서 만든 샘플 코드 입니다.
: :
: : 위와 같이 프로그램을 구성하였는데 메모리가 떨어지지 않고 그대로네요.
: :
: : 혹시 문제점을 아신다면 알려주시면 감사하겠습니다.
|