带有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.