|
장성호 님이 쓰신 글 :
: 쓰레드 클래스가 TThread를 상속받으셨죠?
:
: 만약 TThread를 상속받은 클래스라면?
: 그러면 TNotifyEvent 타입의 OnTerminate 라는 프로퍼티가 있습니다.
: OnTerminate 에 TNotifyEvent 형의 메소드를 설정해주시면 됩니다.
:
: -----------------샘플------------------------------------
: class TMyThread : public TThread
: {
: public:
: __fastcall TMyThread(bool CreateSuspended)
: : TThread(CreateSuspended)
: {
: this->OnTerminate=ThreadExit;
: }
: void __fastcall TMyThread::ThreadExit(TObject *Sender)
: {
: ShowMessage("ThreadExit 죽는다...");
: }
: void __fastcall TMyThread ::Execute()
: {
: Form1->Caption="쓰래드 실행";
: }
:
: };
:
: void __fastcall TForm1::TeminateMyThread(TObject *Sender)
: {
: ShowMessage("Form1 메소드");
: }
: //-------------------------------------------------------
: void __fastcall TForm1::Button1Click(TObject *Sender)
: {
: // 기본 TMyThread *tred=new TMyThread(false);
:
: //또는 ?
: TMyThread *tred=new TMyThread(true);
: tred->OnTerminate=TeminateMyThread;
: tred->Resume();
:
: }
: //---------------------------------------------------------------------------
:
:
: 그럼..
:
:
: 시녕tm 님이 쓰신 글 :
: : 안녕하세요
: :
: : Thread를 사용하다가 Terminate 시킬 때 Terminate() 라는 멤버 함수를 사용하는데요.
: :
: : 이 함수가 호출된 후에 Thread가 메모리 상에서 실제로 삭제되기 전에
: :
: : 최종으로 호출 되는 가상함수라던지 잡아서 쓸만한 이밴트라던지 그런거가 혹시 있나요?
: :
: : Thread에서 사용한 변수들이나 메모리 할당된 놈들을
: :
: : 그 함수에서 모조리 처리하고 싶은데....
: :
: : 혹시 좋은 방법 아시는 분은 알려주시면 감사하겠습니다.
|