我有一個Delphi項目,我需要編寫一個C#應用程序,但我想使用這個Delphi項目的一些功能。我以前從未在德爾福工作過。如何使用C#應用程序中的Delphi代碼?
我發現我可以從Delphi代碼創建一個DLL,並直接在C#中使用它。我怎樣才能做到這一點?或者我也發現了一些轉換工具來轉換爲C#,但它不是很好。那麼最好的方法是什麼? DLL或轉換?通過DLL已經建議
我有一個Delphi項目,我需要編寫一個C#應用程序,但我想使用這個Delphi項目的一些功能。我以前從未在德爾福工作過。如何使用C#應用程序中的Delphi代碼?
我發現我可以從Delphi代碼創建一個DLL,並直接在C#中使用它。我怎樣才能做到這一點?或者我也發現了一些轉換工具來轉換爲C#,但它不是很好。那麼最好的方法是什麼? DLL或轉換?通過DLL已經建議
隨着(需要標記的功能與像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#應用程序。
現在,展開這個簡單的示例來實現您的要求。
如果你的delphi代碼是本地的,那麼你需要一個DLL和一些pinvokes – 2011-05-18 09:35:49
最好的方法是創建一個DLL並將其導入到C# – RBA 2011-05-18 11:03:56