我可以在非托管的Delphi程序中使用托管的C# DLL吗?

4

我可以在非托管的Delphi EXE中使用托管的C# DLL吗?还是唯一的方法是拥有托管的DLL和EXE或非托管的DLL和EXE?

1个回答

5
有几种选择,包括但不限于以下几种:
  1. 通过COM公开需要的类,Delphi可以轻松使用。
  2. 创建一个混合模式的C++/CLI包装器,使用C# DLL作为引用。该混合模式DLL可以导出本地函数,然后可以使用Delphi external来消耗该DLL。也就是说,您可以像使用Windows系统DLL一样使用该DLL。
  3. 使用Robert Giesecke的UnmanagedExports
  4. 直接使用CLR的本机API来消耗C# DLL。这个选项可能是最不理想的,因为它是最难正确实现的。

2
请不要忘记访问http://www.remobjects.com/hydra和http://interop.managed-vcl.com/netinterop_csharp.php,它们与编程有关。 - Arnaud Bouchez
这个链接提供了关于不同选项的更多信息:http://www.xinterop.com/index.php/2015/04/30/introduction-to-the-xinterop-net-bridge/ - Niklas Peter

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接