社区
语言基础/算法/系统设计
帖子详情
delphi调用COM端口问题
徐松层
2019-11-23 10:54:32
同一个delphi CS程式有两个界面要读取COM口刷卡数据,有一个可以,另外一个无提示连接成功,刷卡无效,请教。
...全文
231
5
打赏
收藏
delphi调用COM端口问题
同一个delphi CS程式有两个界面要读取COM口刷卡数据,有一个可以,另外一个无提示连接成功,刷卡无效,请教。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
SupermanTm
2020-08-24
打赏
举报
回复
把“读取串口数据”作为一个单独的控件,A/B界面都只是调用这个控件去取得数据,这就不会冲突了
nm_wyh
2020-08-20
打赏
举报
回复
首先COM口只能被一个程序打开,打开后其他程序无法使用。 你的这个需求,可以通过消息或其他方式实现,在A界面中打开串口,接收到数据后同步到B窗体。(消息,回调,直接窗体引用都可以达到目的)
doloopcn
2019-12-04
打赏
举报
回复
COM这古老的东东一定要用的时候OPEN,通知系统“占用”状态,用完了的时候CLOSE。不可以两个或以上的设备同时使用。
npkaida
2019-11-26
打赏
举报
回复
COM口是独享的,同一时间只能一个打开。
天行归来
2019-11-24
打赏
举报
回复
可能串口占用了,比如:A和B界面,A界面打开了串口连接设备,B界面再连接设备因为串口已占用, CreateFile (打开) 就会失败。
Delphi
7使用SP
Com
m写的简单串口助手
使用
Delphi
7、SP
Com
m控件写的一个简单串口调试助手,把源代码分享给大家,在
Delphi
7环境下调试通过。程序可设置
CoM
端口
,波特率、数据位、校验、停止位等,点击“打开串口按钮”,即可看到状态。运行环境:Windows/
Delphi
7
DELPHI
技巧集(集合各种开发源码)
目录: 1 Uppas40.htm
Delphi
4增訂的Object Pascal 19K 2 Api_printer.htm Api函数列表-与打印有关 30K 3 Autocreate.htm 在
Delphi
3程序中自动检测、建立数据库别名 7K 4 Autoxize.htm
DELPHI
中自适应表单的实现 3K 5 Bat.htm 在
Delphi
中利用Tbatch组件完成数据批处理 5K 6 Bde.htm 如何在注册表中注册BDE 2K 7 Bjjlb.htm
Delphi
编辑俱乐部 4K 8 Cgi_1.htm CGI技术及其开发 11K 9 Cgi_2.htm CGI技术及其开发(二) 12K 10 Chang_backmap.htm 用
Delphi
实现壁纸更换 3K 11 Change_ip_dns.htm 任何动态改变/添加网络设置中的 TCP/IP 的 DNS 地址 1K 12 Colorcour.htm 让彩色光标出现在
Delphi
程序中 2K 13
Com
pon_mk.htm 面向组件的系统开发方法 2K 14
Com
tech.htm
COM
/D
COM
如何传递数组 2K 15
Com
vsd
com
.htm
COM
/D
COM
的区别与联系 2K 16 Cookite.htm
Delphi
3中Cookie的建立使用 6K 17 Copy_screen.htm 一个实用的
Delphi
屏幕拷贝程序的设计 11K 18 Create_oracle7.htm 开发基于ORACLE7数据库的管理信息系统 9K 19 Cs_fast.htm 提高客户机/服务器应用系统性能的一些方法 8K 20 Def_color_dlg.htm 用
Delphi
实现自定义颜色对话框及其构件 12K 21 Def_preview.htm 自定义快速报表的打印预览窗口 6K 22 Delete.htm 如何把文件删除到回收站中 1K 23
Delphi
_c.htm 在
Delphi
与C++之间实现函数与对象共享 7K 24
Delphi
_err.htm
Delphi
编译错误中文手册 34K 25
Delphi
_net1.htm
DELPHI
与INTERNET 34K 26
Delphi
_net2.htm
DELPHI
与INTERNET 46K 27
Delphi
_quick_develop.htm
Delphi
之快速设计(程序设计篇) 8K 28
Delphi
_quick_develop2.htm
Delphi
之快速设计(界面篇) 3K 29
Delphi
23_io.htm 在
DELPHI
2.0/3.0中直接操作
端口
3K 30
Delphi
vspb.htm 开发AS/400应用系统PB5与
Delphi
3的比较 9K 31 Device_isok.htm 检查驱动器是否就绪 1K 32 Dtccw03.htm 资源文件在
DELPHI
中的使用 10K 33 Dttray.htm 如何创建任务栏的应用程序 11K 34 Edit_sysmenu.htm 控制系统菜单 3K 35 Fix_sybase.htm 如何恢复Sybase SQL Anywhere的数据库 4K 36 Fixsysbase_in.htm 解决sybase用户数据库不能进入故障的一种方法 5K 37 From_move.htm 用
Delphi
实现无边界窗体的移动 3K 38 Function.htm 部分函数、命令、属性中文说明 13K 39 Get_form.htm Win95/98下监控运行的其他程序 2K 40 Get_info.htm 使用
Delphi
获取系列信息 3K 41 Get_net_friend.htm 如何在程序中动态取得Win95/98的网络邻居中的工作组及计算机名 12K 42 H_sort.htm 在
DELPHI
中用线程排序 4K 43 Happymouse.htm 用
Delphi
编制趣味动画鼠标 3K 44 Hint.htm 改造HINT的输出方式 5K 45 Howto_chinese_
delphi
.htm "
Delphi
之完全汉语"终结版 6K 46 If.htm
Delphi
数据集过滤技巧 4K 47 Img.htm
Delphi
下汉字输入法的编程及使用 5K 48 Index_notf.htm 怎样解决打开一个DBF表时的"Index not found.."错误 3K 49 Install.htm 如何制作
Delphi
程序安装盘 7K 50 Ip
POSDLL 1.4(POS打印机直接操作接口文件)
支持所有标准ESC/POS指令集打印机,北洋、佳博、商祺等 支持串口、并口、USB、网口 1.4是目前最新的公用版本了,其它后续版本都有厂家的标示 包含DLL文件,帮助,VB/VC/
DELPHI
例程 下边是POS_OPEN函数原型 HANDLE POS_Open(LPCTSTR lpName, int n
Com
Baudrate, int n
Com
DataBits, int n
Com
StopBits, int n
Com
Parity, int nParam) 描述 打开
端口
。 参数 lpName [in] 指向以 null 结尾的打印机名称或
端口
名称。 当参数nParam的值为POS_
COM
_DTR_DSR、POS_
COM
_RTS_CTS、POS_
COM
_XON_XOFF或POS_
COM
_NO_HANDSHAKE 时, “
COM
1”,“
COM
2”,“
COM
3”,“
COM
4”等表示串口; 当参数nParam的值为POS_OPEN_PARALLEL_PORT时,“LPT1”,“LPT2”等表示并口; 当参数nParam的值为POS_OPEN_BYUSB_PORT时,“BYUSB-0”、“BYUSB-1”、“BYUSB-2”、“BYUSB-3”等表示USB
端口
。 当参数nParam的值为POS_OPEN_PRINTNAME时,表示打开指定的打印机。 当参数nParam的值为POS_OPEN_NETPORT时,表示打开指定的网络接口,如“192.168.10.251”表示网络接口IP地址,打印时参考“网络打印简介”。 n
Com
Baudrate [in] 指定串口的波特率(bps)。 可以为以下值之一: 2400,4800,9600,19200,38400,57600,115200等。 具体的值与打印机的
端口
参数有关,不过最大不应超过256000。 n
Com
DataBits [in] 指定串口通讯时的数据位数。 可以为 5 到 8。 具体的值与打印机的
端口
参数有关。 n
Com
StopBits [in] 指定串口通讯时的数据停止位数。 可以为以下值之一: Flag Value Meaning POS_
COM
_ONESTOPBIT 0x00 停止位为1 POS_
COM
_ONE5STOPBITS 0x01 停止位为1.5 POS_
COM
_TWOSTOPBITS 0x02 停止位为2 n
Com
Parity [in] 指定串口的奇偶校验方法。 可以为以下值之一: Flag Value Meaning POS_
COM
_NOPARITY 0x00 无校验 POS_
COM
_ODDPARITY 0x01 奇校验 POS_
COM
_EVENPARITY 0x02 偶校验 POS_
COM
_MARKPARITY 0x03 标记校验 POS_
COM
_SPACEPARITY 0x04 空格校验 nParam [in] 指定串口的流控制(握手)方式、或表示通讯方式。请参考参数lpName的说明。 可以为以下值之一: Flag Value Meaning POS_
COM
_DTR_DSR 0x00 流控制为DTR/DST POS_
COM
_RTS_CTS 0x01 流控制为RTS/CTS POS_
COM
_XON_XOFF 0x02 流控制为XON/OFF POS_
COM
_NO_HANDSHAKE 0x03 无握手 POS_OPEN_PARALLEL_PORT 0x12 打开并口通讯
端口
POS_OPEN_BYUSB_PORT 0x13 打开USB通讯
端口
POS_OPEN_PRINTNAME 0X14 打开打印机驱动程序 POS_OPEN_NETPORT 0x15 打开网络接口 其中前两项也统称为硬件流控制,一般选用 RTS/CTS 方式。 返回值 如果函数
调用
成功,返回一个已打开的
端口
句柄。 如果函数
调用
失败,返回值为 INVALID_HANDLE_VALUE (-1)。 备注 1.如果打开的是并口(LPT1,LPT2等),那么后面的参数 n
Com
Baudrate,n
Com
DataBits,n
Com
StopBits,n
Com
Parity将被忽略,可以设置为0,并且参数nParam必需指定为POS_OPEN_PARALLEL_PORT。同样,打开USB
端口
或打印机驱动程序,nParam必需指定为相应的参数修改。 2.如果由 lpName 指定的通讯
端口
被其他程序占用,那么返回值为 INVALID_HANDLE_VALUE。 3.如果参数出错,也返回INVALID_HANDLE_VALUE。 4.如果通讯
端口
已经打开,则会尝试关闭已经打开的
端口
,然后再去打开。 5.如果参数nParam指定打开USB
端口
,则需要安装随机附带的
端口
驱动程序,并把打印机配置为支持USB
端口
模式。 6.另请参考 POS_Close,POS_Reset。
方便高效实用的远程数据库对象(
delphi
版)
很久没有发布东东了,今天看到盒子上有朋友发布了个三层的东东, 下来大概看了看,貌似使用起来不太方便,曾经用过ASTA和RmoObject,都不是那么让人满意,BUG多,并且庞大需要安装,使用十分不方便。 为了继续支持我喜欢的
DELPHI
和可爱的盒子, 特发布个自己写的远程数据库对象希望能给大家平常的工作带来便利和高效(偶自己和同事们都用了挺长时间,十分稳定易用)。 用
DELPHI
的朋友少不了要和数据库打交道,一般小程序都使用ACCESS做数据库感觉十分方便,不用装服务端,客户端不用单独装驱动, 发布程序时直接目录一拷贝就完事,但缺点是不方便从其它计算机对它进行访问, 有了偶这个东东,就可以很方便容易的实现咯。 ps : 就是连接Oracle和mysql,客户端也可以不用装驱动哦 使用步骤 解压后找个地方存放 将GobUnit目录添加到
delphi
的搜索路径 将DXSockEnt30(我改过bug的版本)的3个子目录也添加到
delphi
的搜索路径 即可使用和编译所有偶提供的代码 FAQ: 这个东东都提供什么功能? 答:提供最简单方便高效的方式,通过ADO对象实现远程数据库 这个东东为什么不封装成控件? 答:本类以单元形式封装,只要加到搜索路径后直接引用即可,无需经过安装等麻烦的步骤。 这个东东适合应用在什么场合? 答:适合应用于小型分布式程序。 这个东东掌握起来有难度吗? 答:没有任何难度,就和你开发本地数据程序一样简单。 这个东东可以应用在我已有的程序里吗? 答:由于我使用的是AdoQuery作为数据集载体,所以无需更改为其他控件,现有的本地数据库程序也可以非常容易的改造为支持分布式数据库。 这个东东稳定吗? 答:经自己长期做小白鼠广泛的实际应用实践,发现方便,稳定。 服务端的
端口
号是多少? 答:服务端的
端口
号可以随意设置,只要不和其他程序冲突就可以,并且客户端连接服务端时必须
端口
一致. 如果服务端重启了客户端需要重启吗? 答:不用,客户端只要连接上服务端以后就有自动断线重连的功能。 这个东东免费吗? 答:完全免费,并且开放所有源代码,你可以随意改进,传播它,当然如果更好用了,记得给我也发一份 :)(要保留偶的版权和注释信息哦) 这个东东使用到了那些控件? 答:
delphi
的ADO控件,INDY,以及第3方Dxsock(服务端用)。 同时发布的还有我自己积累的几个常用单元,有日志,调试,tcp的通用服务和客户端模块等,同样都是十分有用的东东。 这个东东有demo程序吗? 答:有最简单的示范程序,但时间关系只写了最简单的演示代码,还有很多值得你去挖掘的实用接口和单元。 我有了改进版本,怎么联系这个东东的作者? 答:QQ 22900104 ,Email 22900104@qq.
com
马敏钊 发布这个东东的目的是什么? 答:好用的东东大家分享,共同学习,共同进步,希望大家都能发扬开源精神。 构架说明: 大概是这样的,偶有一个服务器对象,负责提供数据库服务,在需要提供数据服务的程序里创建它即可。 使用起来十分简单 首先引用服务端单元 uses UntRmodbSvr; //创建远程服务对象 (参数1 服务
端口
号 日志对象,如果不需要记录日志请填nil) Gob_RmoDBsvr := TRmodbSvr.Create(FSvrPort, nil); //连接数据库 可以是ADO支持的所有数据库
调用
TDBMrg提供的获取各种数据库的链接字符串即可,这里连接Access数据库 Gob_RmoDBsvr.ConnToDb(TDBMrg.GetAccessConnStr('cfg.mdb')); 到此为止,2行代码使你的这个程序具有了将数据库发布出去的能力,其它机器的程序可以方便的通过它访问到数据库,像使用本地数据库一样。 客户端只需连接服务端即可,不管服务端是什么样的数据库,无需安装任何数据库驱动。 uses UntRemSql; //创建客户端对象 RmoClient := TRmoHelper.Create(); //连接服务端 填入服务端地址和
端口
(与服务端
端口
一致即可) Result := RmoClient.ReConnSvr(ISvrIP, Iport); 2行代码使你的客户端程序具有了方便的访问到远端的数据库,像使用本地数据库一样,并且你原有的单机数据库程序可以很方便改为远程数据库。 具体使用方法可以查看DEMO程序 为了方便交流建了个QQ群,欢迎大家参与 15637473
PortController ActiveX 控件
PortController ActiveX 控件简化RS-232串口通讯,能用于任何Visual Basic, Visual C++, 或
Delphi
工程中。
PortController ActiveX 控件是一个功能强大的控件,只需要几行程序就能在数秒钟内设置串口,让你完全控制串口。 使用PortController ActiveX 控件,你可以与实验仪表,导航设备,医疗器械等进行通讯,最多也只需要几分钟。
PortController ActiveX 控件的关键特色: 能与所有的串行
端口
通讯,包括USB,蓝牙,红外或其他虚拟
端口
; 可以同时控制大量的
端口
,从
COM
1 到
COM
9999; 一个函数
调用
就能进行多线程读写; 设置传输速率,奇偶校验,数据位和停止位等参数; 完全控制状态行和握手信号; 当数据传入或某事件发生时通知应用程序; 支持二进制数据读写; 支持的操作系统:Windows 2000/XP 和 Windows 98/ME; 12个运用实例(包括Visual Basic,Visual C++,和
Delphi
); 可以作为程序的一部分免费发给用户。
语言基础/算法/系统设计
16,748
社区成员
33,247
社区内容
发帖
与我相关
我的任务
语言基础/算法/系统设计
Delphi 语言基础/算法/系统设计
复制链接
扫一扫
分享
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章