如何从 C# 应用程序使用 Delphi 代码

本文关键字:Delphi 代码 应用程序 | 更新日期: 2023-09-27 17:56:53

我有一个 Delphi 项目,我需要编写一个 C# 应用程序,但我想使用这个 Delphi 项目中的一些函数。我以前没有在德尔福工作过。

发现我可以用Delphi代码创建一个DLL,并直接在C#中使用它。我该怎么做?或者我也找到了一些转换为 C# 的转换工具,但它不是那么好。那么最好的方法是什么?DLL还是转换?

如何从 C# 应用程序使用 Delphi 代码

这是一个非常快速的示例,解释了如何在 Delphi 中制作 dll,然后如何从 C# 调用它。这是带有一个函数SayHello的简单dll的Delphi代码:

library DllDemo;
uses
  Dialogs;
{$R *.res}
Procedure SayHello;StdCall;
Begin
  ShowMessage('Hello from Delphi');
End;
exports
  SayHello;
begin
end.

编译此代码,它将生成一个 dll 文件。

现在,在 DLL 中调用前面过程的 C# 代码如下所示:

using System.Runtime.InteropServices;
namespace CallDelphiDll
{
  class Program
  {
    static void Main(string[] args)
    {
      SayHello();
    }
    [DllImport("DllDemo")]
    static extern void SayHello();
  }
}

将 Delphi 生成的 dll 放在 C# 项目输出目录中,然后运行 C# 应用程序。

现在,展开这个简单的示例以满足您的要求。

正如已经通过 DLL 建议的那样(您需要使用适当的调用约定(如 stdcall)标记函数)

另一种解决方案是将相关功能包装在 COM 对象中,然后使用它。