PowerBuilder串行通信:借助Mscomm.ocx控件的OLE调用
版权申诉
72 浏览量
更新于2024-08-13
收藏 57KB DOC 举报
"本文主要介绍了如何在PowerBuilder(PB)中利用OLE技术调用Microsoft Communications Control (Mscomm.ocx)控件,以实现串行接口通信功能。在PowerBuilder自身缺乏直接控制串口的控件时,通过这种方法,开发者可以方便地在PB应用中进行串口通信,适用于那些需要与硬件设备交互的系统,如门禁、点名或接见系统等。"
在PowerBuilder应用中添加串行通信功能通常是个挑战,因为它本身不内置串行接口控件。然而,VB(VBScript)提供了串口控件,但可能并不适合处理复杂的数据库操作,这是PowerBuilder的强项。为了解决这个问题,开发者可以借助OLE(对象链接和嵌入)技术,将VB中的Mscomm.ocx控件集成到PB应用中。
具体步骤如下:
1. 首先,在PB的窗体中添加一个OLE控件。在"Insert Object"属性窗口的"InsertControlTab"选项卡中,选择"Microsoft Communications Control"。如果系统中未注册该控件,需要先进行安装和注册。
2. 将控件放置在窗体的任何位置,虽然在运行时它是不可见的。命名为"OLE_comm"。
3. 接下来,配置控件的属性。这可以通过"OLECustomControl"对话框或者右键菜单的"OCX Properties"选项完成,但在代码中设置这些属性可以提供更高的灵活性和控制力。例如,在窗口的OPEN事件中,可以编程设置串口参数:
- `ole_comm.object.CommPort=1` 设置串口为COM1。
- `ole_comm.object.Settings="57600,n,8,1"` 设置波特率为57600,无校验位(n),8位数据位,1位停止位。
- `ole_comm.object.InputLen=0` 设置输入缓冲区长度。
- `ole_comm.object.InBufferSize=90` 和 `ole_comm.object.OutBufferSize=60` 分别设置输入和输出缓冲区大小。
- `ole_comm.object.SThreshold=0` 和 `ole_comm.object.RThreshold=9` 设置发送和接收阈值。
4. 一旦配置完成,就可以通过这个控件进行串行通信,例如发送和接收数据,监控串口状态等。
这种解决方案使得PowerBuilder开发者能够充分利用其强大的数据库处理能力,同时利用Mscomm.ocx控件实现串行通信,无需完全切换到VB环境。这种方式在需要结合数据库操作和串行通信的项目中非常实用,提高了开发效率并降低了学习新开发工具的成本。
2020-07-19 上传
2023-01-05 上传
2022-09-19 上传
点击了解资源详情
2022-07-13 上传
悠闲饭团
- 粉丝: 196
- 资源: 3404
最新资源
- MATLAB实现小波阈值去噪:Visushrink硬软算法对比
- 易语言实现画板图像缩放功能教程
- 大模型推荐系统: 优化算法与模型压缩技术
- Stancy: 静态文件驱动的简单RESTful API与前端框架集成
- 掌握Java全文搜索:深入Apache Lucene开源系统
- 19计应19田超的Python7-1试题整理
- 易语言实现多线程网络时间同步源码解析
- 人工智能大模型学习与实践指南
- 掌握Markdown:从基础到高级技巧解析
- JS-PizzaStore: JS应用程序模拟披萨递送服务
- CAMV开源XML编辑器:编辑、验证、设计及架构工具集
- 医学免疫学情景化自动生成考题系统
- 易语言实现多语言界面编程教程
- MATLAB实现16种回归算法在数据挖掘中的应用
- ***内容构建指南:深入HTML与LaTeX
- Python实现维基百科“历史上的今天”数据抓取教程