Delphi:TComPort封装在DLL中,通讯时无法接收串口数据的解决办法

Delphi串口通信:实现信息传输与通信 串口通信是一种常见且重要的数据传输方式,在各种应用中被广泛使用。本文将介绍如何使用Delphi编程语言实现串口通信,并展示如何在两个设备之间进行信息传输和通信。在上述示例中,设备1发送一条消息到串口,设备2接收到该消息并显示在消息框中。然后,设备2发送一条回复消息到串口,设备1接收到该回复消息并显示在消息框中。通过以上示例,我们展示了如何使用Delphi实现串口通信,并进行数据传输和通信操作。首先,我们需要在Delphi中设置串口通信的相关参数。接下来,我们可以通过串口进行数据传输和通信。 阅读详情
现象:
将Tcomport(版本:ComPort Library ver. 3.0   )封装在DLL中,进行串口通讯时,无法接收数据!
 
解决办法:
在创建组件时,只需要更改一个属性的设置就可以了。如下所示:
          //DLL入口
          
           talencaport:=ttalencaport.Create(nil);
           talencaport.port:='COM1';
           talencaport.SyncMethod:=smWindowSync;
           talencaport.OnRxChar:=talencaport.readbuf;
红色加粗的代码就是关键的一句代码!加入此句代码后,在DLL中发送与接收数据就与在窗体上使用一样。
 
 
分析:
由于工作需要,一直使用DELPHI5,DELPHI7两个版本进行开发。在DELPHI5中,将TCOMPORT封装在DLL中使用,没有任何的异常。后来抱成DELPHI7后,当时以为,同样的代码,应当没有什么问题。于是,编译。成功!哈!原来版本升级这么容易!也没有多想,没有测试,就把这事情放在了脑后。-_-!!
 
时间过了一个月,公司有设备要进行测试,因此,自己很高兴地把新的东西用来测试,结果,所有的通讯指令均是失败(无数据)!头顿时就要炸了。。。。。。
 
还好,是自己测试,有问题还算是可以补救的。仔细看源码,与DELPHI5下的源码是一样的,为什么在DELPHI7下就接收不到数据呢?看来问题还是在TCOMPORT本身上。(:),偶还是粉相信DELPHI实力的!:))
一看DLL入口代码:
talencaport:
TComPort Delphi XE8串行通信组件完全指南 TComPortDelphi环境下的一个串行通信组件,用于实现计算机与外围设备之间的数据通信。通过TComPort,开发者可以轻松构建串行端口应用程序,实现数据的发送和接收。随着Delphi版本的更新,许多底层的库和框架都经历了重要的变更。这些变化可能会影响到TComPort组件的使用和性能。例如,在XE8中,VCL组件库被升级,这意味着一些旧的VCL组件可能需要更新以适应新的框架。此外,Delphi XE8增强了对64位应用程序的支持,这也为TComPort带来了额外的适应工作。 阅读详情

相关推荐

Delphi串行通信组件TComPort8_VCL的实战应用

Delphi语言以其高效、面向对象的特性,在软件开发领域占有一席之地。随着行业对实数据交换的需求日益增长,串行通信作为数据交互的重要手段之一,显得尤为重要。TComPort8是Delphi中用于串行通信的一个重要组件,它提供了丰富的接口和功能,使得开发者能以较低的学习成本实现复杂的串行通信功能。在这一章节中,我们将首先介绍Delphi中的VCL组件基础,进而引出TComPort8组件的诞生背景及其核心功能。我们会简要回顾TComPort8组件的发展历程,介绍其在不同版本中所获得的更新和增强的功能。

weixin_31860973的博客 1072

Delphi经典串口组件带源码TComPort V4.11

Delphi经典串口组件ComPort,长期使用它做硬件控制器连接,从D7到XE6都支持,实性很好。

Delphi 7 CPort30串口编程工具包

本文还有配套的精品资源,点击获取 简介:Delphi 7是一款支持高效串口编程的可视化开发环境,广泛应用于嵌入式系统和工业自动化领域。该工具包提供了一个名为"CPort30"的组件,旨在简化串口操作,增强开发者在设备控制和数据传输任务中的效率。它包含丰富的API、示例代码和故障排除文档,特别适合需要进行串口通信的Delphi 7用户。该资源包括源代码、帮助文档、示例程序和本...

weixin_35755640的博客 1366

Delphi comport library

delphi 可用的源碼,應用在RS232/RS485資料通訊方面的程式庫.

Delphi 2010 串口控件TComPort(可替代使用SPComm2010)

最近一个项目从Delphi 7 升级到Delphi 2010,项目中需使用串口通信,之前在Delphi 7中使用的串口控件为Spcomm,后来网上找到适用于Delphi2010版本的SPComm2010,安装过程还算顺利。 使用串口调试助手接收,传输英文、数字等字符接收到的文本不完整,例如发送“test”,仅收到"te";                                  

路虽远,行则将至;事虽难,做则必成! 1万+

【乌拉喵.教程】Comport4 CPort for delphi2010串口应用程序

使用comport4做串口调试程序 comport4的安装见:http://blog.csdn.net/yorkworlddream/article/details/17382039

乌拉大喵喵 4917

Delphi环境下基于SPCOMM控件开发串口通讯报文字节丢失的问题解决

最近做的工具需要直接与下位机进行HEXs

Rshh's Blog. 2424

TComport 2010 (multibyte修正)

TComport component with bug fix, test on Delphi 2010,print data to a POS label printer with chinese....^_^

TComPort4BetaDelphi2010.rar

This is subversion revision 20 of TComPort version 4.0 with minimal support (package files and .inc file updates) for delphi 2010. Download Location: https://sourceforge.net/projects/comport/files/

用SPCOMM 在 Delphi中实现串口通讯

Delphi 实现串口通讯,常用的几种方法为:使用控件如MSCOMM和SPCOMM,使用API函数或者在Delphi 中调用其它串口通讯程序。利用API编写串口通信程序较为复杂,需要掌握大量通信知识,其优点是可实现的功能更强大,应用面更广泛,更适合于编写较为复杂的低层次通信程序。相比较而言,利用SPComm控件则相对较简单,该控件具有丰富的与串口通信密切相关的属性及事件,提供了对串口的各种操

Tercel99的专栏 3971

TCOMPort 串口通信控件

TCOMPort 串口通信控件 【下载地址】TCOMPort串口通信控件 TCOMPort是一款专为Delphi开发者设计的串口通信控件,适用于Delphi 7至XE10.3.3版本。它经过优化,提供更稳定、高效的串口通信功能,简化开发流程。相较于传统SPCOMM控件,TCOMPort具备更强的兼容性和易用性,支持多种串...

gitblog_06745的博客 436

TCOMPort串口通信控件:简化Delphi串口编程

TCOMPort串口通信控件:简化Delphi串口编程 【下载地址】TCOMPort串口通信控件 TCOMPort是一款专为Delphi开发者设计的串口通信控件,适用于Delphi 7至XE10.3.3版本。它经过优化,提供更稳定、高效的串口通信功能,简化开发流程。相较于传统SPCOMM控件,TCOMPort具备更强的兼...

gitblog_06756的博客 562

c++builder 6.0 添加串行通信组件TComPort

c++builder 6.0 添加串行通信组件TComPort

bigbear_07的专栏 288

【乌拉喵.教程】comport4.11 delphi2010安装教程

源码包内容如下: 安装步骤如下: 1.将源码包放到某个位置,如G:\AllDesign\delphi下 2.在delphi的tools->options->library win32->library path中目录文件中添加刚才Source 文件夹的目录地址 3、打开 CPortLibXXX.dpk(路径:G:\AllDesign\delphi\s

乌拉大喵喵 6085
上一篇: 国内软件公司的合作,真这么难?
下一篇: delphi多线程编程中利用事件机制同步的初步实现
小呆之家
博客等级 码龄22年 28粉丝 7原创
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值