C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[17200] 개박살.U&I 님 질문있는데여~~(TIME-OUT처리)
초보허접 [] 827 읽음    2002-04-04 10:59
먼저 도움 많이 됐구여 정말 감사합니다.
질문이 하나 더 있는데여.. 제가 1초에 한번씩 데이타를 쏘는데여
ProcessMessage()를 쓰면 TIME-OUT 시 다른 버튼들은 이상없이
쓸수 있던데  MainMenu1(메인메뉴) 에 있는것을 click하면 focus를 제대로 못봤는거 같아여??
그리고여 함수가 있는 메인 form이 아닌 다른 폼에도 ProcessMessage()를 넘길수 있는지여?
이문제 좀 도와주세여~~ ㅡㅡ^^

bool NeedAckWrite(unsigned char *Buffer, unsigned short int Size)
{
     WriteData(Buffer, Size);    //[*] 이건 시리얼로 데이타를 쓰는 함수를 만드시고..
     IsReciveAck = false;        //[*] 전역변수로써, 아크데이타를 받았는지를 결정합니다

     //[*] ACK Loop
     clock_t Retry = clock();
     clock_t Start = clock();
     while((clock() - Start) < 1000)   {         //[*] Wait 1-Sec
           if(IsReciveAck) break;                     //[*] Ack OK !
           if((clock() - Retry) >= 200)    {      //[*] Retry 200-MSec
                 Retry = clock();
                 WriteData(Buffer, Size);            //[*] Retry Write
           }
           Application->ProcessMessages();       //[*] While Loop에서 처리를 점유하지 않기위해
     }

     //[*] Retry Fail ...
     if((clock() - Start) >= 1000)    return false;
     
     return true;
}

+ -

관련 글 리스트
17200 개박살.U&I 님 질문있는데여~~(TIME-OUT처리) 초보허접 827 2002/04/04
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.