Delphi可不可以制作出像c#那样的dll类库?

本文涉及的产品
实时数仓Hologres,5000CU*H 100GB 3个月
智能开放搜索 OpenSearch行业算法版,1GB 20LCU 1个月
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 在Delphi中,创建DLL项目(如dll.dpr)并定义一个类TMyCls后,在另一个项目(如test.dpr)中可以引入此DLL并直接实例化和调用类的方法。然而,Delphi目前主要支持两种DLL形式:动态链接库(需显式声明exports,仅支持函数调用)和ActiveX DLL(需定义IDL接口)。这两种方式都较为繁琐。相比之下,C# 的DLL类库更为便捷,编写并编译后即可在其他项目中直接使用。

例如创建一个dll项目(dll.dpr),写了一个类:

TMyCls=class

public

procedure foo();

end;

我在另一个项目(test.dpr)里引入这个dll,就可以这样调用:

cls=TMyCls.Create(); cls.foo();

[ssa.zhengbeigr.cn)
[ssa.taocunly.cn)
[ssa.yipingrp.cn)
[ssa.poxingl.cn)
[ssa.meitengbv.cn)
[ssa.baisuww.cn)
[ssa.ayqzmu.cn)
[ssa.cbslrw.cn)
[ssa.yidaled.cn)

Delphi现在只有两种dll,一种是dynmatic dll,那种要exports声明的,调用时也只能是函数式调用,无法直接使用里面的类,太麻烦不适用

第2种是activx dll,但是必须要设计ridl,增加类名,方法名接口等,我有很多方法这样添加很麻烦

我想起c#的dll类库很方便,好像写好类实现后,编译成dll,另一项目引入,就可以直接TMyCls.Create出来用了,谢谢!

相关文章
|
6月前
|
C#
C# 解决引用dll,出现dll不可以使用等问题
C# 解决引用dll,出现dll不可以使用等问题
|
3月前
|
C#
C# WPF 将第三方DLL嵌入 exe
C# WPF 将第三方DLL嵌入 exe
82 0
|
3月前
|
C# 图形学 数据安全/隐私保护
Unity数据加密☀️ 二、使用Rider将C#代码生成DLL文件
Unity数据加密☀️ 二、使用Rider将C#代码生成DLL文件
|
5月前
|
算法 C#
C#开源实用的工具类库,集成超过1000多种扩展方法
C#开源实用的工具类库,集成超过1000多种扩展方法
|
5月前
|
安全 编译器 API
程序与技术分享:C#调用DLL的几种方法
程序与技术分享:C#调用DLL的几种方法
89 0
|
6月前
|
XML 缓存 算法
C#非强签名dll搜索顺序
C#非强签名dll搜索顺序
|
6月前
|
XML 移动开发 前端开发
C#HtmlAgilityPack类库再回顾
C#HtmlAgilityPack类库再回顾
59 0
|
开发框架 .NET Java
C#下反射动态加载dll后如何卸载?
C#下反射动态加载dll后如何卸载?
|
20天前
|
C# 开发者
C# 一分钟浅谈:Code Contracts 与契约编程
【10月更文挑战第26天】本文介绍了 C# 中的 Code Contracts,这是一个强大的工具,用于通过契约编程增强代码的健壮性和可维护性。文章从基本概念入手,详细讲解了前置条件、后置条件和对象不变量的使用方法,并通过具体代码示例进行了说明。同时,文章还探讨了常见的问题和易错点,如忘记启用静态检查、过度依赖契约和性能影响,并提供了相应的解决建议。希望读者能通过本文更好地理解和应用 Code Contracts。
30 3
|
2月前
|
API C#
C# 一分钟浅谈:文件系统编程
在软件开发中,文件系统操作至关重要。本文将带你快速掌握C#中文件系统编程的基础知识,涵盖基本概念、常见问题及解决方法。文章详细介绍了`System.IO`命名空间下的关键类库,并通过示例代码展示了路径处理、异常处理、并发访问等技巧,还提供了异步API和流压缩等高级技巧,帮助你写出更健壮的代码。
45 2
下一篇
无影云桌面