|
안녕하세요
동작 중에 케이블이 빠질경우 아래와 같은 윈도우 메시지를 이용하여 comport를 제어할려 합니다.
그런데 케이블이 빠지거냐 연결될 경우 Message.WParam가 항상 0x07되네요 일단은 이벤트가 발생시
무조건 comport close되도록 아래와 소스와 같이 작업하였습니다.
여기서 문제가 발생되었는데 정상 통신 동작중에서 이벤트가 가끔씩 발생되어 이벤트가
발생(Message.WParam=> 0x07)되어 comport를 close하는 것입니다. 여기저기 아무리 찾아봐도 해결점이
안보이네요
/////////////////////////////////////////////////////////////////////////////////
void __fastcall TForm1::OnMessages(Messages::TMessage &Message)
{
switch(Message.Msg)
{
case WM_DEVICECHANGE:
switch(Message.WParam)
{
case DBT_DEVICEARRIVAL :
// CheckPort(); break;
case DBT_DEVICEREMOVECOMPLETE :
// ComPort1->Close(); break;
}
Serial1->Close();
Connect->Click();
Message.Result = true;
break;
default:
TForm::WndProc(Message);
}
}
|