news 2026/8/26 3:23:49

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/8/26 21:40:13

仓颉编程语言完整入门指南:从零开始快速上手

仓颉编程语言完整入门指南:从零开始快速上手 【免费下载链接】CangjieCommunity 为仓颉编程语言开发者打造活跃、开放、高质量的社区环境 项目地址: https://gitcode.com/Cangjie/CangjieCommunity 仓颉编程语言是华为推出的面向全场景智能的新一代编程语言&…

作者头像 李华
网站建设 2026/8/26 20:57:00

37、KDE 常用小部件介绍

KDE 常用小部件介绍 1. 引言 KDE(K Desktop Environment)提供了丰富的小部件,这些小部件可用于创建功能强大的桌面应用程序。本文将详细介绍一些常见的 KDE 小部件及其使用方法。 2. 常见小部件介绍 2.1 KLineEdit 功能 :KLineEdit 是一个单行文本编辑器。 头文件 …

作者头像 李华
网站建设 2026/8/26 18:35:50

智能决策引擎:制造业流程优化的AI革命

智能决策引擎:制造业流程优化的AI革命 【免费下载链接】llm-answer-engine Build a Perplexity-Inspired Answer Engine Using Next.js, Groq, Mixtral, Langchain, OpenAI, Brave & Serper 项目地址: https://gitcode.com/GitHub_Trending/ll/llm-answer-eng…

作者头像 李华
网站建设 2026/8/26 19:12:39

Python性能测试终极指南:pyperf模块完整教程

Python性能测试终极指南:pyperf模块完整教程 【免费下载链接】pyperf Toolkit to run Python benchmarks 项目地址: https://gitcode.com/gh_mirrors/py/pyperf 在当今软件开发中,性能测试是确保应用高效运行的关键环节。pyperf作为专为Python设计…

作者头像 李华
网站建设 2026/8/26 19:34:08

Flink SQL Top-N 深度从“实时榜单”到“少写点数据”

1. Top-N 到底是什么?为什么流式 Top-N 更难 Top-N:按某些排序列(比如 sales DESC)取前 N 条(或后 N 条)。既支持 batch,也支持 streaming。(Confluent 文件) 难点在 streaming: …

作者头像 李华