WaitForSingleObject((void*)this->Handle ,3000);
로 하니 작동되네요.
그런데 쓰레드 상에서 Sleep 함수를 사용하면 가끔 쓰레드가 멈추는것 같은데
Sleep 함수를 사용해서 그런건가요.
하안인 님이 쓰신 글 :
: 빌더6을 사용하고 있습니다.
:
: thread 상에서는 Sleep 함수를 사용하지 않는 것이 좋다고 해서
: WaitForSingleObject(NULL ,3000);
: 를 써서 3초동안 시간지연을 하려고 하는데
: 아래코드로 쓰레스 생성후 실행해도
: 지연이 안되네요.
:
:
: __fastcall Test::Test(bool CreateSuspended)
: : TThread(CreateSuspended)
: {
: FreeOnTerminate = true;
: }
: //---------------------------------------------------------------------------
: void __fastcall Test::Execute()
: {
: //---- Place thread code here ----
: while(!Terminated)
: {
: WaitForSingleObject(NULL ,3000);
: Synchronize(TimeDisplay);
: }
: Form1->Label1->Caption = "End";
: }
: //---------------------------------------------------------------------------
: void __fastcall Test::TimeDisplay()
: {
: Form1->Label1->Caption = FormatDateTime("yyyy-mm-dd hh:nn:ss",Now());
: }
|