如何使用C#应用程序中的Delphi代码?

问题描述:

我有一个Delphi项目,我需要编写一个C#应用程序,但我想使用这个Delphi项目的一些功能。我以前从未在德尔福工作过。如何使用C#应用程序中的Delphi代码?

我发现我可以从Delphi代码创建一个DLL,并直接在C#中使用它。我怎样才能做到这一点?或者我也发现了一些转换工具来转换为C#,但它不是很好。那么最好的方法是什么? DLL或转换?通过DLL已经建议

+2

如果你的delphi代码是本地的,那么你需要一个DLL和一些pinvokes – 2011-05-18 09:35:49

+1

最好的方法是创建一个DLL并将其导入到C# – RBA 2011-05-18 11:03:56

随着(需要标记的功能与像STDCALL适当的调用约定)

一个不同的解决将是一个COM对象来包装的相关功能,并使用它。

这是一个非常快速的示例,介绍如何在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文件。

现在,C#代码调用DLL中的前面的过程是这样的:

using System.Runtime.InteropServices; 

namespace CallDelphiDll 
{ 
    class Program 
    { 
    static void Main(string[] args) 
    { 
     SayHello(); 
    } 

    [DllImport("DllDemo")] 
    static extern void SayHello(); 
    } 
} 

把德尔福在C#项目输出目录中生成的dll和运行C#应用程序。

现在,展开这个简单的示例来实现您的要求。