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
[14842] 시리얼통신상의 에러처리문제
heartsim [] 1341 읽음    2002-01-22 17:34
시리얼 통신을 하는데 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);

}

+ -

관련 글 리스트
14842 시리얼통신상의 에러처리문제 heartsim 1341 2002/01/22
37536     Re:시리얼통신상의 에러처리문제 ComPort에서... 예외처리 박영목 1804 2004/10/08
37537         Re:Re:시리얼통신상의 에러처리문제 ComPort에서... 예외처리 박영목 1851 2004/10/08
14879     Re:시리얼통신상의 에러처리문제 하느리 4261 2002/01/23
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.