|
시리얼 통신을 하는데 cport263버전을 사용하고 있습니다.
다른 것은 문제가 안 되는데, comport1->ShowSetupDialog()에서 com1이 아닌 사용할 수 없는
다른 포트를 선택했을 경우, 아래와 같은 에러가 뜨는데...에러처리할 수 있는 방법이 없을가요?
(다이얼로그에는 com1, com3, com4, com5가 나오는데, 이중에서 com1 포트만 사용가능 상태)
다음과 같은 에러메세지가 나는군요.
Project zoom_p.exe raised exception class EComPort with message 'Unable to open com port
(with error code:2).'Process stopped. Use Step or Run to continue.
일단 제가 아래와 같이 처리를 했습니다.
근데 문제는 컴파일하고 실행한 후 serialcom1단추를 누르면 통신설정 다이얼로그가 나오고
그 상태에서 com1이외의 것을 선택하면 위와 같이 에러가 나면서 멈춰버립니다.
근데, 생성된 실행파일만을 가지고 실행하면 아래와 소스와 같이 작동 합니다.
그러나 문제는 강제적으로 com1으로 다시 설정했다는거죠.
만약 com1이 아닌 com2나 com3를 사용한다면 그 경우도 고려를 해줘야 하는데,
생각외로 쉽게 로직이 안 돌아가는군요.
음...cport263컴포넌트에 보니 OnError이벤트가 있는데 혹 이걸로 체크할 수 있나요?
사용법을 잘 모르겠어요. 아시는 분은 답글 부탁드려요....참 힘듭니다..--.--;;
void __fastcall TForm1::SERIALCOM1Click(TObject *Sender) //나 이것 땜시 일주일 머리 .....^^
{
try{
ComPort1->ShowSetupDialog();
}
catch(Exception &EComPort){
ShowMessage("Fail to COM");
ComPort1->Port="COM1";
ComPort1->Connected=true;
// if(ComPort1->Connected==true)
// ShowMessage("Success COM1 Setting");
// else
// ShowMessage("Fail COM1 Setting");
//}
// ComPort1Error(Sender,ceIO);
}
|