如何从 C# 应用程序使用 Delphi 代码
本文关键字:Delphi 代码 应用程序 | 更新日期: 2023-09-27 17:56:53
我有一个 Delphi 项目,我需要编写一个 C# 应用程序,但我想使用这个 Delphi 项目中的一些函数。我以前没有在德尔福工作过。
我发现我可以用Delphi代码创建一个DLL,并直接在C#中使用它。我该怎么做?或者我也找到了一些转换为 C# 的转换工具,但它不是那么好。那么最好的方法是什么?DLL还是转换?
这是一个非常快速的示例,解释了如何在 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 对象中,然后使用它。