Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我们即将编写一个 C# Web 服务,它将公开包含在本机 Delphi GUI 应用程序中的功能。为什么我会选择将 Delphi 代码包装在本机 dll 中,为什么要将它包装在 COM 服务器中?换句话说:在选择一个而不是另一个时,我需要考虑哪些因素?我对与编码、调试、(自动化)测试、部署(客户安装)和性能(开销?)有关的因素感兴趣。
与普通 DLL 相比,COM 增加了一些显着优势:
BSTR
所以我会选择COM。
要使用 DLL 在 .NET 中使用 Delphi 类,您必须在 Delphi 端展平该类并在 .NET 端重新包装它,这有点难看。
Rudy 的很多关于 Delphi 和 C++ 代码的文章也适用于 C#:
http://rvelthuis.de/articles/articles-cppobjs.html