从Delphi调用.NET DLL

Jas*_*oor 1 .net c# delphi dll unmanaged

作为我第一次作为学生员工编程,我必须在C#.NET中创建一个可以从Delphi调用的DLL.

由于Delphi是本机代码并且.NET正在被管理,我读到这并不容易.

我还读过罗伯特·吉塞克的"非管理出口".这可能是解决方案吗?

由于我的机器上没有Delphi(Delphi不是免费的),我无法为自己测试.

另外,当我实现非托管导出时,我的数据类型是否会出现问题?

最后但并非最不重要的是,是否有一种我可以使用的语言与Delphi加载DLL有同样的问题?能够测试对我来说很好.

Dav*_*nan 5

UnmanagedExports是一种选择.它确实很有效.其他选择包括:

  • 使用COM公开功能.
  • 通过C++/CLI混合模式程序集公开功能.
  • 从您的Delphi代码托管CLR.

最后的选择不是很容易处理.不要试图这样做.

除非您已经是该领域的专家,否则您几乎肯定会遇到互操作数据类型的问题.

你当然可以用FreePascal来测试它.很可能你可以用FreePascal编写代码来消耗你的.net程序集,然后在Delphi中使用完全相同的代码.即使您必须稍微改变一下,您将学到的课程也将完全相同.