http://cbuilder.borlandforum.com/impboard/impboard.dll?action=read&db=bcb_tip&no=677
팁&트릭에서 김태선님이 작성하신 쓰레드에 함수실어서 잘 사용하고 있습니다~
그런데 쓰레드가 돌고 있을때 폼클로즈를 해버리면 간혹 이런 핸들 에러나 아래 메시지가 뜨는데..
---------------------------
Debugger Exception Notification
---------------------------
Project DTG.exe raised exception class $C0000005 with message 'access violation at 0x0040573f: read of address 0x000002c8'.
---------------------------
Break Continue Help
---------------------------
쓰레드 생성시 FreeOnTerminate = true; 를 넣어주면 익스큐트가 끝나면 자동으로 해제로 알고있는데...
창이 닫히면서 쓰레드가 종료되며 메모리 해제가 일어나는지.. 아니면 폼클로즈 이벤트에서 직접 메모리 해제를 해줘야할지..
아래처럼 별 시도를 다해봤는데 잘 안되네요 ㅡㅡ;
TDataThd * DataThd;
void __fastcall TFrm_Main::LV_HeaderDblClick(TObject *Sender)
{
DataThd = new TDataThd(&Read_Data, Sender); //생성 ~ 함수시작
}
//---------------------------------------------------------------------------
void __fastcall TFrm_Main::FormClose(TObject *Sender, TCloseAction &Action)
{
// if(!DataThd != NULL)
// if(!DataThd->Suspended)
// if(!DataThd->Finished)
// DataThd->Suspend();
// delete DataThd;
}
|