news 2026/3/17 2:32:23

Lazarus调用COM组件MSCOMM之OLE方法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Lazarus调用COM组件MSCOMM之OLE方法

Lazarus 本身有MSCOMM类似的组件,只是将mscomm当成调用例子的道具。本来是在codetyphon上练的,它和Lazarus没什么特别的地方,而且开发团队韧性和支持能力相比Lazarus相差很多,就用Lazarus简单写一下ole调用过程吧。

用OLE方式调用COM组件非常简单,记录如下:

1. 找到MSCOMM在系统中注册的CLASS名称,可借助type library工具。MSCOMM注册的类名称是MSCommlib.MSComm或MSCommlib.MSComm.1

2. 在工程项目的USE中将ComObj和ActiveX引用进去,类似:

uses Classes, SysUtils, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls, ComObj, ActiveX;

3. 根据类名称创建实例,然后通过实例操作MSCOMM,方法与VB6操作类似。

procedure TForm1.Button1Click(Sender: TObject); var COMObj: OleVariant; // 存储COM对象实例 begin try CoInitialize(nil); try COMObj := CreateOleObject('MSCommlib.MSComm.1'); COMObj.CommPort := 3; COMObj.Settings := '9600,n,8,1'; COMObj.PortOpen := True; COMObj.OutPut := 'Hello World!'; COMObj.PortOpen := False; finally COMObj := Unassigned; CoUninitialize; end; except // 捕获COM专属异常(精准定位问题) on E: EOleException do Writeln('COM方法调用异常:', E.Message, ' (错误码:', E.ErrorCode, ')'); on E: EOleSysError do Writeln('COM系统错误:', E.Message, ' (错误码:', E.ErrorCode, ')'); on E: Exception do Writeln('其他异常:', E.ClassName, ' - ', E.Message); end; end;

试练验证过了,就此记录下来。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/15 15:53:25

第 11 章 错误处理与异常

1. 什么是异常? 在 Python 程序从编写到运行的整个生命周期里,难免会遇到各类问题,这些问题主要可归为以下两类核心类型: (1)语法错误 语法错误是 Python 代码违反语法规则时触发的错误,这类…

作者头像 李华
网站建设 2026/3/15 15:53:26

5个技巧帮你轻松搞定信息筛选:newsnow新闻聚合工具深度体验

5个技巧帮你轻松搞定信息筛选:newsnow新闻聚合工具深度体验 【免费下载链接】newsnow Elegant reading of real-time and hottest news 项目地址: https://gitcode.com/GitHub_Trending/ne/newsnow 还在为每天海量的新闻信息而烦恼吗?&#x1f91…

作者头像 李华
网站建设 2026/3/15 15:39:31

从开题焦虑到研究自信:你的学术研究,差一个“AI领航员”还是“思维脚手架”?

凌晨两点,研究生李明的电脑屏幕上闪烁着第N版开题报告——他再次陷入了“研究背景写得像教科书,研究问题又模糊得像迷雾”的典型困境。这种场景,在无数个实验室和自习室里反复上演。每年有数以百万计的学生和研究者站在学术研究的起点&#x…

作者头像 李华
网站建设 2026/3/15 15:38:35

Python编程艺术:从工匠到大师的进阶之路

Python编程艺术:从工匠到大师的进阶之路 【免费下载链接】one-python-craftsman 项目地址: https://gitcode.com/gh_mirrors/on/one-python-craftsman 在Python开发的世界里,我们常常会遇到这样的场景:代码虽然能运行,但总…

作者头像 李华
网站建设 2026/3/15 19:50:43

django基于django框架的多功能校园网站的设计与实现

🍅 作者主页:Selina .a 🍅 简介:Java领域优质创作者🏆、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行交流合作。 主要内容:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据…

作者头像 李华