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
[46306] Re:Re:Re:Re:CPort에서 에러는 어떻게 잡아야 하나요?
danga80 [] 1406 읽음    2006-08-24 16:30
잠깐 참견할꺼리가 있어 이렇게 글을 적습니다.

뭐 대단한 것은 아니구요..

노트북에는 보통 시리얼 포트가 없다고 생각하시는데.. 그렇지는 않습니다.

외관상으로 보기에 포트가 안 보이는 거죠.. 디자인이나 기타 다른 포트들 때문에 공간이 없어 노트북

뒤나 옆에 포트를 빼내지 못해 없는 거죠~

패러럴이나 시리얼 포트의 경우 보통 보드의 한 칲이 맡아서 그일을 하게 된다고 합니다. 한 칲에 관련 기능이 모두

있는거죠.. 그래서 그 칲과 보드를 연결하고 .. 연결 포트를 밖으로 빼내면 되는데..

서두에 말씀드렸던 이유로 밖으로 빼내지 못해 없습니다. 이런 경우 해당 노트북 전용 포트리플리케이터나 도킹스테이션을 사용하면 됩니다. 조금 비싸긴 하지만요~.. ㅜㅜ

이녀석에 별 특별한 기능이 있는게 아니라 보드에 붙어 있는 시리얼포트 관련 칲으로부터 연결해 놓은 것에 불과합니다.

(시리얼포트의 경우입니다.)

그래서 Open()을 하게 되면 정상적으로 리턴하게 되는 거죠.. 장치관리자에서 포트를 확인해 보이면 있는게 맞습니다.

노트북 유틸 중에 이런 포트를 끄는 기능이 있는 노트북이 또 있더군요. 끄게 되면 장치 관리자에서도 안 보이죠..

물론 Open 함수는 에러를 뱉습니다.

하드웨어를 조금 아신다면 노트북을 뜯어 해당 칲으로부터 선을 직접 연결해 사용은 할 수 있습니다만..

좀.. 흉하겠죠? ㅎㅎ

이상 지나가다 잠시 참견해 보았습니다.

수고하세요~

흑태자 님이 쓰신 글 :
: 감사합니다.
: 시스템 등록정보에 보니 COM 포트가 있네요.. ㅡ_ㅡㅋ
: 그럼 COM 포트를 사용해야 할 때는 어떻게 해야 할까요? 보이지도 않는 포트를 끄집어 낼수도 없고..
: usb to serial 케이블을 사용하게 되면 또 어떤 현상이 발생할지 모르겠습니다 ㅡ_ㅡㅋ
:
:
: 공부맨 님이 쓰신 글 :
: : 1. CPort의 Open 함수는 실패시 예외를 발생시키는 것으로 알고 있습니다.
: : 그래서 보통
: : try
: : {
: :     ComPort1->Open();    //또는 ComPort1->Connected = true;
: :     ShowMessage("Comport 연결 성공");
: : }
: : catch (...)
: : {
: :     ShowMessage("Comport 연결 실패");
: : }
: : 식으로 사용합니다.
: :
: : 2. 포트가 없으면 열리지 않아야(예외가 발생해야) 정상입니다. 다만 몇몇 컴퓨터의 경우 외견상으로 시리얼 포트단자가 보이지 않는데 시스템 등록 정보에 보면 COM 포트가 잡혀 있는 경우가 있습니다. 그럴 경우에는 시스템에 컴포트가 있는걸로 인식되어 포트가 문제 없이 열립니다.
: :
: :
: :
: : 흑태자 님이 쓰신 글 :
: : : 웃기네요..-_-;;
: : : 에러가 날리가 없었습니다. 시리얼 포트가 없는데도 불구하고 Port를 오픈하니 정상적으로 오픈이 됐다고 나옵니다.
: : :
: : : ComPort1->Connected 로 체크해 보니 ComPort1->Open()을 실행하고 난 다음에는 connect 된 결과가 나오니..
: : : 괜한 걸로 고민하고 있었네요 ㅡ_ㅡ
: : :
: : :
: : : 흑태자 님이 쓰신 글 :
: : : : CPort를 문제없이 잘 설치 시켜서 사용하려고 하는데..
: : : : 제가 현재 노트북에 시리얼 포트가 없어서 이걸 데스크탑으로 가져가야 할지 usb to serial 케이블을 사용해야 할지는
: : : : 아직 결정하지 못한 상태입니다
: : : : 와중에 CPort 사용법에 대해서 익히려고 Help를 정독하고 있는데.. 포트의 개수를 센다거나 오픈하는 멤버함수를 사용했을때 리턴되는 값이 없어서 결과를 알 수가 없습니다.
: : : :
: : : : 예를 들면 Open은 원형(?)이 void TCustomComPort::Open() 이렇게 되어 있더군요.
: : : : 그래서 노트북에 포트가 없으면 에러가 나던지..아니면 리턴되는 값이 있어서 오픈이 안된다던가 하는
: : : : 메시지가 떠야 할텐데 아무런 반응이 없습니다
: : : :
: : : : 처음에 라이브러리를 설치할때 컴파일시 에러가 나면 EComPort 던가요.. 예외처리 하는 부분의 두 라인을 주석처리해야
: : : : 사용이 가능하다고 해서 두 라인은 주석처리가 되어 있는 상태입니다.
: : : : 혹시나 해서 TComPort의 OnError 이벤트에 메시지를 보여주도록 한 상태에서 Open을 해봐도 에러는 발생하지 않았습니다.
: : : : 제가 설치를 잘못해서 그러는건지.. 아니면 에러를 발생시키거나 알아내는 방법을 모르는건지 모르겠습니다
: : : :
: : : : 참고로... ComPort 라이브러리 Help파일은 한번 정독을 다 했습니다 -_-

+ -

관련 글 리스트
46270 CPort에서 에러는 어떻게 잡아야 하나요? 흑태자 1154 2006/08/23
46278     Re:CPort에서 에러는 어떻게 잡아야 하나요? 흑태자 1205 2006/08/23
46285         Re:Re:CPort에서 에러는 어떻게 잡아야 하나요? 공부맨 1328 2006/08/24
46286             Re:Re:Re:CPort에서 에러는 어떻게 잡아야 하나요? 흑태자 1342 2006/08/24
46314                 Re:Re:Re:Re:CPort에서 에러는 어떻게 잡아야 하나요? 공부맨 1430 2006/08/25
46306                 Re:Re:Re:Re:CPort에서 에러는 어떻게 잡아야 하나요? danga80 1406 2006/08/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.