PowerBuilder串行通信:借助Mscomm.ocx控件的OLE调用
版权申诉
121 浏览量
更新于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 上传
悠闲饭团
- 粉丝: 195
- 资源: 3400
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍