当前位置: 首页 > news >正文

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;

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

http://www.jsqmd.com/news/82728/

相关文章:

  • 如何快速掌握Fort Firewall:Windows网络安全管理完整指南
  • JDK 1.8.0_201 终极下载与安装指南:快速搭建Java开发环境
  • 5、音频操作技巧:从命令快捷方式到远程监听
  • U-2-Net农业应用指南:实现精准作物病虫害智能检测
  • 网络安全自学 | 手把手教你恶意代码检测:从静态分析到动态沙箱实战
  • 如何在Windows上快速配置FFmpeg环境:5步完成音视频处理工具搭建
  • 千亿参数稀疏架构落地!Ming-flash-omni Preview重构多模态AI技术范式
  • PicView图片查看器完全指南:从安装到精通
  • 【2025年最新网络安全就业方向】网络安全专业的学生毕业后可以从事什么样的工作?
  • 2025实力强的公考集训营TOP5推荐:售后完善信誉好的专业 - myqiye
  • Linux shell进阶教程:sh和source调用子脚本的区别详解
  • TensorFlow艺术生成技术完全指南:StyleNet与DeepDream深度解析
  • JavaScript数据压缩库测试终极指南:从入门到精通
  • 31、Qt 常用小部件介绍
  • Whisper语音识别模型完整解析:从原理到实战应用
  • AI写论文那个最好用:宏智树AI凭何登顶“学术神器”榜首?
  • 网络安全应急响应标准流程(SOP)详解:抓住处置黄金时间
  • 微信小程序wxapkg文件深度解析:unwxapkg技术实现全揭秘
  • 基于强化学习的AI工具使用优化方法解析
  • 算法突破宝典:Learn-Algorithms项目实战全攻略
  • Python性能测试终极指南:pyperf模块完整教程
  • AI写论文哪个软件最好?我们实测了5款主流工具后发现:真正适合毕业论文的,不是“写得快”,而是“写得稳、查得到、改得了”
  • 网络安全入行真相:是普通人也能抓住的红利,还是又一个内卷深坑?
  • 机器翻译:用python从零到一基于 t5_translate_en_ru_zh_small_1024 模型实现翻译工具
  • 70、利用Python的C API扩展Python
  • 为什么前些年太多人挤破脑袋进网安?
  • 机器翻译:一文掌握离线翻译库 Argos Translate 的详细使用
  • 22、《图形绘制与操作全解析》
  • ESP32-S3脉冲计数精准优化实战指南:从误差根源到性能验证的完整解决方案
  • C# 进阶必备:核心模块(List / 泛型 / IO 流)底层原理与实战手册