为什么我宁愿使用本机dll或com服务器从C#调用Delphi代码
本文关键字:服务器 com 调用 代码 Delphi dll 本机 为什么 | 更新日期: 2023-09-27 18:28:23
我们即将编写一个C#web服务,该服务将公开本机Delphi GUI应用程序中包含的功能。为什么我会选择将Delphi代码封装在本机dll中,为什么我想将其封装在COM服务器中?换句话说:在选择一个而不是另一个时,我需要考虑哪些因素?我对编码、调试、(自动化)测试、部署(客户安装)和性能(开销?)方面的因素感兴趣。
COM比普通DLL增加了一些显著的优势:
- 支持OOP(类、接口)
- 字符串(
BSTR
)、数组和对象的自动内存管理(通过接口) - 无需在.NET端使用平台调用
所以我会选择COM.
要使用DLL在.NET中使用Delphi类,必须在Delphi端压平该类,然后在.NET端重写它,这有点难看。
Rudy关于Delphi和C++代码的许多文章也适用于C#:
http://rvelthuis.de/articles/articles-cppobjs.html