[英]How can I use Delphi code from a C# application?
我有一個Delphi項目,我需要編寫一個C#應用程序,但我想使用這個Delphi項目中的一些函數。 我之前沒有在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對象中,並使用它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.