|
먼저 도움 많이 됐구여 정말 감사합니다.
질문이 하나 더 있는데여.. 제가 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;
}
|