我有一个Delphi项目,我需要编写一个C#应用程序,但我想使用这个Delphi项目中的一些函数.我之前没有在Delphi工作过.
我发现我可以从Delphi代码创建一个DLL并直接在C#中使用它.我怎样才能做到这一点?或者我也发现了一些转换为C#的转换工具,但它并不是那么好.那么最好的方法是什么? DLL还是转换?
解决方法
这是一个非常快速的示例,解释了如何在Delphi中创建dll,然后如何从C#调用它.
这里是带有一个函数SayHello的简单dll的Delphi代码:
这里是带有一个函数SayHello的简单dll的Delphi代码:
- library DllDemo;
- uses
- Dialogs;
- {$R *.res}
- Procedure SayHello;StdCall;
- Begin
- ShowMessage('Hello from Delphi');
- End;
- exports
- SayHello;
- begin
- end.
- using System.Runtime.InteropServices;
- namespace CallDelphiDll
- {
- class Program
- {
- static void Main(string[] args)
- {
- SayHello();
- }
- [DllImport("DllDemo")]
- static extern void SayHello();
- }
- }
将Delphi生成的dll放在C#项目输出目录中并运行C#应用程序.
现在,扩展这个简单的示例以满足您的要求.