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

delphi调用C#编写的DLL

一、C#端

创建C#类库

using System;
using System.Runtime.InteropServices;namespace MathOperations
{// 1. 首先明确定义接口[ComVisible(true)][Guid("9E5E5FB2-219D-4D07-B6A9-763C392D6F70")] // 接口GUIDpublic interface ICalculator{int Add(int a, int b);int Subtract(int a, int b);double Divide(int a, int b);string GetVersion();}// 2. 实现接口的类[ComVisible(true)][Guid("9E5E5FB2-219D-4D07-B6A9-763C392D6F71")] // 类GUID[ClassInterface(ClassInterfaceType.None)] // 禁用自动接口生成public class Calculator : ICalculator{public int Add(int a, int b) => a + b;public int Subtract(int a, int b) => a - b;public double Divide(int a, int b){if (b == 0) throw new DivideByZeroException();return (double)a / b;}public string GetVersion() => "Calculator v1.0 (C#)";}
}

设置com可见

在这里插入图片描述

在这里插入图片描述

编译DLL

在这里插入图片描述

注册DLL

C:\Windows\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe MathOperations.dll /tlb:MathOperations.tlb /codebase

在这里插入图片描述

二、delphi端

导入类型库

在这里插入图片描述
在这里插入图片描述
默认生成这个文件
在这里插入图片描述

引用

在这里插入图片描述

调用

在这里插入图片描述

结果

在这里插入图片描述

http://www.dtcms.com/a/477688.html

相关文章:

  • 从API调用到智能体编排:GPT-5时代的AI开发新模式
  • C++学习录(1):C++入门简介,从零开始
  • 电力专用多功能微气象监测装置在电网安全运维中的核心价值是什么?
  • 科研快报 |声波“听”见火灾温度:混合深度学习重构三维温度场
  • 从超级大脑到智能毛细血管:四大技术重构智慧园区生态版图
  • 旅游网站建设方案书制作一个网站平台需要多少钱
  • SQL入门:集合运算实战指南
  • Docker 网络类型与容器通信
  • Oracle 21C 部署ogg踩过的坑
  • vue3 中播放.flv视频
  • Oracle AWR报告中Load Profile源码
  • 电子商务网站开发的任务书企业文化心得体会
  • 溧阳网站开发kindeditor代码高亮 wordpress
  • CSS常见问题
  • nginx 负载均衡配置
  • 原生 iOS 开发全流程实战,Swift 技术栈、工程结构、自动化上传与上架发布指南
  • Apache开源许可证:深度解析与实践指南
  • Python Web开发——HTTP协议简介
  • 病理切片可解释性分析-细胞类型、核形态与细胞间相互作用
  • 【C语言】杨辉三角:数学之美与编程实现的完美结合
  • 盐城网站建设策划方案杭州企业求网站建设
  • 基于.NET Framework 4.0的串口通信
  • Mybatis Log Free插件使用
  • asp网站可运行jsp吗专做立体化的网站
  • angie未生成coredump文件
  • 【leetcode刷题007】leetcode116、117
  • 南昌网站推广¥做下拉去118cr如何做实验室网站
  • 从0开始搭建Vue3项目
  • 【知识】Linux将多条指令合并为一条执行
  • 将 MapReduce 程序打成 JAR 包并在 Linux 虚拟机的 Hadoop 集群上运行