7

我们即将编写一个 C# Web 服务,它将公开包含在本机 Delphi GUI 应用程序中的功能。为什么我会选择将 Delphi 代码包装在本机 dll 中,为什么要将它包装在 COM 服务器中?换句话说:在选择一个而不是另一个时,我需要考虑哪些因素?我对与编码、调试、(自动化)测试、部署(客户安装)和性能(开销?)有关的因素感兴趣。

4

1 回答 1

3

与普通 DLL 相比,COM 增加了一些显着优势:

  • 支持 OOP(类、接口)
  • BSTR字符串( )、数组和对象的自动内存管理(通过接口)
  • 无需在 .NET 端使用平台调用

所以我会选择COM。

要使用 DLL 在 .NET 中使用 Delphi 类,您必须在 Delphi 端展平该类并在 .NET 端重新包装它,这有点难看。

Rudy 的很多关于 Delphi 和 C++ 代码的文章也适用于 C#:

http://rvelthuis.de/articles/articles-cppobjs.html

于 2013-08-21T09:59:39.517 回答