帶有USB COM端口斷開的問題的庫庫庫已解決。解決方案不是完美的,仍然可以暫停在無限的WaitforsingLeoBject上的應用,尤其是在傳輸速度非常緩慢的情況下(300-600波特),但它比以前好得多。當USB COM端口斷開錯誤發生時,執行處理程序otafterclose並生成“端口斷開”(tcomexception = ce_portDiscontected)的例外。
該庫庫包含訪問COM端口的代碼。最初,COM端口是IBM-PC兼容計算機的串行端口接口的名稱。雖然如今的COM端口對於對USB訪問的溝通而言越來越少,但它仍在用作虛擬端口,尤其是作為製造商董事會的簡單通信協議。
該庫是原始Complible 4.10的叉子,可以在此處找到:https://sourceforge.net/projects/comport/
由於它是叉子,因此某些原始提交消息仍然可以訪問。
主分支集中在Delphi上,所有CBuilder支持已被刪除。但是,舊的cbuilder代碼仍可以在legacycbuildersupport分支中訪問
Delphi: 7,2005,2006,2007,2010,XE,XE2,XE3,XE4,XE5,XE6,XE6,XE7,XE8,RS10,RS10,RS10.1,RS10.2,RS10.2,RS10.3,RS10.3
原始作者: Dejan Crnila 1998-2002([email protected])
前維護人員: Lars Dybdahl([email protected]),Paul Doland([email protected]),Brian Gochnauer([email protected])
| Delphi版本 | 運行時間 | 設計時間 | 狀態 |
|---|---|---|---|
| Delphi 7 | 。 packages d7 cportlib7.dpk | 。 packages d7 dsgncport7.dpk | 沒有足夠的測試 |
| Delphi 8 | 。 packages d8 cportlib8.dpk | 。 packages d8 dsgncport8.dpk | 沒有足夠的測試 |
| Delphi 2005 | 。 packages d2005 cportlib2005.dpk | 。 packages d2005 dsgncport2005.dpk | 沒有足夠的測試 |
| Delphi 2006 | 。 packages d2006 cportlib2006.dpk | 。 packages d2006 dsgncport2006.dpk | 沒有足夠的測試 |
| Delphi 2007 | 。 packages d2007 cport_r.dpk | 。 packages d2007 cport_d.dpk | 沒有足夠的測試 |
| Delphi 2009 | 。 packages d2009 cport_r.dpk | 。 packages d2009 cport_d.dpk | 沒有足夠的測試 |
| Delphi 2010 | 。 packages d2010 cport_r.dpk | 。 packages d2010 cport_d.dpk | 應該工作 |
| Delphi Xe | 。 packages xe cport_r.dpk | 。 packages xe cport_d.dpk | 應該工作 |
| Delphi XE2 | 。 packages xe2 cport_r.dpk | 。 packages xe2 cport_d.dpk | 測試 |
| Delphi XE3 | 。 packages xe3 cport_r.dpk | 。 packages xe3 cport_d.dpk | 應該工作 |
| Delphi XE4 | 。 packages xe4 cport_r.dpk | 。 packages xe4.dpk | 應該工作 |
| Delphi XE5 | 。 packages xe5 cport_r.dpk | 。 packages xe5 cport_d.dpk | 應該工作 |
| Delphi XE6 | 。 packages xe6 cport_r.dpk | 。 packages xe6 cport_d.dpk | 應該工作 |
| Delphi XE7 | 。 packages xe7 cport_r.dpk | 。 packages xe7 cport_d.dpk | 測試 |
| Delphi XE8 | 。 packages xe8 cport_r.dpk | 。 packages xe8 cport_d.dpk | 應該工作 |
| Delphi盧比10 | 。 packages 10s cport_r.dpk | 。 packages 10s cport_d.dpk | 應該工作 |
| Delphi盧比10.1 | 。 packages 101b cport_r.dpk | 。 packages 101b cport_d.dpk | 應該工作 |
| Delphi盧比10.2 | 。 packages 102T cport_r.dpk | 。 packages 102T cport_d.dpk | 測試 |
| Delphi Rs 10.3 | 。 packages 103r cport_r.dpk | 。 packages 103r cport_d.dpk | 應該工作 |
刪除所有先前安裝的Comport Library文件(TCOMPORT組件)。在Delphi目錄下創建一個新文件夾,然後將源zip文件提取到新文件夾中。添加到庫路徑中新的comport文件夾(工具 - 環境期權圖書館圖路徑)。
使用以下所有其他Delphi版本的說明。我建議在Delphi的“所有個性”模式下運行Delphi 2006時安裝Cport,而不是僅在Delphi個性中。這有助於確保Cport安裝雙模式。
使用Delphi IDE中的“文件/打開”菜單項打開Comport運行時包源文件(請參見上文)。單擊包裝窗口中的“編譯”按鈕以編譯庫。現在,將運行時包庫文件或文件(請參見上文)移動到可以通過搜索路徑訪問的文件夾(例如Windows System32)。
現在,您必須安裝設計時間軟件包。使用文件/打開菜單項打開設計時間軟件包源文件(請參見上文)。單擊包裝窗口中的“編譯”按鈕以編譯軟件包和“安裝”按鈕,以註冊到IDE中。 Comport組件出現在組件Pallete的“ Cportlib”頁面中。如果它抱怨它無法安裝它,因為它找不到庫,則您可能沒有將運行時軟件包放在搜索路徑中。直到下次嘗試啟動Delphi之前,您可能不會遇到此錯誤。
注意:請勿在Delphi IDE下保存軟件包。
COMEXAMPLE.DPR-顯示一些基本的發送重新解釋功能
modtest.dpr-調製解調器測試控制台應用程序
Miniterm.dpr-簡單終端應用程序
cportmonitor.pas-用於監視傳入和傳出數據的TCPortMonitor組件。此示例顯示瞭如何鏈接到TcustomComport組件。作者:Roelof Y. Ensing(電子郵件:[email protected])。
barcodescanner.pas -tbarcodescanner組件。簡單的TcustomComport後代的一個示例。
在Delphi中,轉到“幫助”菜單,自定義項目。您應該在選定的“內容”選項卡中介紹您。單擊 +(添加文件)按鈕。瀏覽到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.