USB COM 포트 연결 해제 된 문제가있는 Comport Library. 솔루션은 완벽하지 않으며 여전히 매우 느린 전송 속도 (300-600 Bauds)의 경우 Infinite WaitforsingleObject에서 응용 프로그램을 중단 할 수 있지만 이전보다 훨씬 좋습니다. USB COM 포트 연결 해제 된 오류가 발생하면 핸들러 OnAfterClose가 실행되고 예외가 "포트 연결이 끊어졌습니다"(tcomeXception = CE_PortDiscOnted)가 생성됩니다.
Comport 라이브러리에는 COM 포트에 액세스하는 코드가 포함되어 있습니다. 원래 COM 포트는 IBM-PC 호환 컴퓨터의 직렬 포트 인터페이스의 이름이었습니다. 오늘날 COM 포트는 USB 액세스에 유리한 통신에 덜 중요 해지지만 여전히 가상 포트, 특히 Maker Boards의 간단한 통신 프로토콜로 사용되고 있습니다.
이 라이브러리는 원래 Comport Library 4.10의 포크로 여기에서 찾을 수 있습니다 : https://sourceforge.net/projects/comport/
포크이기 때문에 원래 커밋 메시지 중 일부는 여전히 액세스 할 수 있습니다.
마스터 브랜치는 델파이에 중점을두고 있으며 모든 CBuilder 지원이 제거되었습니다. 그러나 기존 CBuilder 코드는 LegacyCBuildersUpport 지점에서 여전히 액세스 할 수 있습니다.
DELPHI : 7, 2005, 2006, 2007, 2010, XE, XE2, XE3, XE4, XE5, XE6, XE7, XE8, RS10, RS10.1, RS10.2, RS10.3
오리지널 저자 : Dejan Crnila 1998-2002 ([email protected])
전 관리자 : Lars Dybdahl ([email protected]), Paul Doland ([email protected]), Brian Gochnauer ([email protected])
| 델파이 버전 | 실행 시간 | 설계 시간 | 상태 |
|---|---|---|---|
| 델파이 7 | . 패키지 d7 cportlib7.dpk | . 패키지 d7 dsgncport7.dpk | 충분히 테스트되지 않았습니다 |
| 델파이 8 | . 패키지 d8 cportlib8.dpk | . 패키지 d8 dsgncport8.dpk | 충분히 테스트되지 않았습니다 |
| 델파이 2005 | . 패키지 d2005 cportlib2005.dpk | . 패키지 d2005 dsgncport2005.dpk | 충분히 테스트되지 않았습니다 |
| 델파이 2006 | . 패키지 d2006 cportlib2006.dpk | . 패키지 d2006 dsgncport2006.dpk | 충분히 테스트되지 않았습니다 |
| 델파이 2007 | . 패키지 d2007 cport_r.dpk | . 패키지 d2007 cport_d.dpk | 충분히 테스트되지 않았습니다 |
| 델파이 2009 | . 패키지 d2009 cport_r.dpk | . 패키지 d2009 cport_d.dpk | 충분히 테스트되지 않았습니다 |
| 델파이 2010 | . 패키지 d2010 cport_r.dpk | . 패키지 d2010 cport_d.dpk | 작동해야합니다 |
| 델파이 XE | . 패키지 xe cport_r.dpk | . 패키지 xe cport_d.dpk | 작동해야합니다 |
| 델파이 XE2 | . 패키지 xe2 cport_r.dpk | . 패키지 xe2 cport_d.dpk | 테스트 |
| 델파이 XE3 | . 패키지 xe3 cport_r.dpk | . 패키지 xe3 cport_d.dpk | 작동해야합니다 |
| 델파이 XE4 | . 패키지 xe4 cport_r.dpk | . 패키지 xe4.dpk | 작동해야합니다 |
| 델파이 XE5 | . 패키지 xe5 cport_r.dpk | . 패키지 xe5 cport_d.dpk | 작동해야합니다 |
| 델파이 XE6 | . 패키지 xe6 cport_r.dpk | . 패키지 xe6 cport_d.dpk | 작동해야합니다 |
| 델파이 XE7 | . 패키지 xe7 cport_r.dpk | . 패키지 xe7 cport_d.dpk | 테스트 |
| 델파이 XE8 | . 패키지 xe8 cport_r.dpk | . 패키지 xe8 cport_d.dpk | 작동해야합니다 |
| 델파이 Rs 10 | . 패키지 10S cport_r.dpk | . 패키지 10S cport_d.dpk | 작동해야합니다 |
| 델파이 Rs 10.1 | . 패키지 101B cport_r.dpk | . 패키지 101B cport_d.dpk | 작동해야합니다 |
| 델파이 Rs 10.2 | . 패키지 102T cport_r.dpk | . 패키지 102T cport_d.dpk | 테스트 |
| 델파이 Rs 10.3 | . 패키지 103r cport_r.dpk | . 패키지 103r cport_d.dpk | 작동해야합니다 |
Comport Library (Tcomport 구성 요소)의 이전에 설치된 모든 파일을 제거하십시오. Delphi 디렉토리 아래에서 새 폴더를 만들고 소스를 새 폴더로 추출하십시오. 라이브러리 경로에 새로운 comport 폴더 (도구 환경 옵션-서식-서식 경로)를 추가하십시오.
다른 모든 델파이 버전에 대해서는 아래 지침을 사용하십시오. 델파이 유일한 성격이 아닌 델파이의 "모든 성격"모드에서 델파이 2006을 실행하는 동안 CPORT를 설치하는 것이 좋습니다. 이를 통해 CPORT가 듀얼 모드를 설치하도록하는 데 도움이됩니다.
Delphi IDE에서 "File/Open"메뉴 항목을 사용하여 Comport 런타임 패키지 소스 파일을 엽니 다 (위 참조). 패키지 창에서 "컴파일"버튼을 클릭하여 라이브러리를 컴파일합니다. 이제 런타임 패키지 라이브러리 파일 또는 파일 (위 참조)을 Comport 폴더에서 검색 경로 (예 : Windows System32)를 통해 액세스 할 수있는 폴더로 이동하십시오.
이제 디자인 타임 패키지를 설치해야합니다. 파일/열기 메뉴 항목을 사용하여 디자인 타임 패키지 소스 파일을여십시오 (위 참조). 패키지 창에서 "컴파일"버튼을 클릭하여 패키지와 "설치"버튼을 컴파일하여 Comport를 IDE에 등록하십시오. Comport 구성 요소는 구성 요소 Pallete의 "Cportlib"페이지에 나타납니다. 라이브러리를 찾을 수 없기 때문에 설치할 수 없다고 불평한다면 런타임 패키지를 검색 경로에 넣지 않았을 것입니다. 다음에 델파이를 시작할 때 까지이 오류가 발생하지 않을 수 있습니다.
참고 : Delphi Ide에서 패키지를 저장하지 마십시오.
comexample.dpr- 몇 가지 기본 Send -Recieve 기능을 보여줍니다
modtest.dpr- 모뎀 테스트 콘솔 응용 프로그램
Miniterm.dpr- 간단한 터미널 응용 프로그램
cportMonitor.pas -들어오는 데이터 및 발신 데이터를 모니터링하기위한 TCPortMonitor 구성 요소. 이 예제는 tcustomComport 구성 요소에 링크하는 방법을 보여줍니다. 저자 : Roelof Y. Ensing (이메일 : [email protected]).
Barcodescanner.pas -tbarcodescanner 구성 요소. 간단한 tcustomcomport 후손의 예.
델파이에서는 도움말 메뉴로 이동하여 항목을 사용자 정의하십시오. 선택한 탭 노트북 "내용"탭이 제공되어야합니다. + (파일 추가) 버튼을 클릭하십시오. CPORT 디렉토리를 찾아보십시오. cport.toc을 선택하십시오.
"색인"탭을 클릭하십시오. 파일 추가를 클릭하십시오. cport.hlp를 선택하십시오. "링크"탭을 클릭하십시오. 파일 추가를 클릭하십시오. cport.hlp를 선택하십시오. 파일 메뉴/저장 프로젝트 항목을 선택하십시오. 출구 프로그램. Borland의 OpenHelp 유틸리티는 프로그램을 닫고 변경 사항을 저장하는 것을 잊어 버린 경우 자극하지 않으므로 직접 수행해야합니다.
1.) Delphi IDE의 onrxbuf 이벤트 핸들러 문제
If user double clicks on OnRxBuf event in Delphi IDE, message pops up
saying: "Property and Method ComPort1RxBuf are not compatible".
This is a Delphi IDE bug, since it can't handle untyped parameters
like Buffer parameter of OnRxBuf event.
Solution: Application has to assign OnRxBuf handler manually in code.
2.) Delphi 2005 또는 2006에 대한 통합 도움이 없습니다.
Solution: Manually open .HLP file with Windows Help.