|
쓰레드 클래스 만들면 코드에 다음과 같은 글이 삽입되죠?
이거 보면 VCL콤포넌트 건드리는 함수는 모두 아래와 같이 Synchronize함수 통해서
호출 해야 합니다.
// Important: Methods and properties of objects in VCL can only be
// used in a method called using Synchronize, for example:
//
// Synchronize(UpdateCaption);
//
// where UpdateCaption could look like:
//
// void __fastcall Unit1::UpdateCaption()
// {
// Form1->Caption = "Updated in a thread";
// }
//---------------------------------------------------------------------------
글구 실행화일에서 다운되 버린다면..
Code Guard 켜놓고 함 돌려 보시는걸 적극 추전하고요.
또하나 디버그 모드에서 멈쳤을때.. Ctrl+Alt+S누르면
콜스택 상황을 보여주는데 이걸 보면 어느부분에서 멈춘건지 감을 잡을 수 있습니다.
글구 위에 어느분이 쓰셨던 것처럼 외부 라이브러리 루틴을 빼고 쓰레드만으로 메시지 출력하면서 돌려보시는것도 움이 됩니다. 문제의 원인이 쓰레드 자체이 있는지 외부 라이브러리에 있는지 알수 있을테니까요.
님은 참 골치 아픈 쓰레드 문제에 걸리신것 같군요..
이번 문제 해결하고 나면 디버그 실력이 한층 느실거 같네요. ( 위로가 되려나 ^^; )
암튼 빨리 해결이 되길빕니다. ^^
|