2013-03-14 84 views
0

有沒有從C#(ASP.NET)調用本地C++或Delphi Dll的最佳實踐?是調用還是COM互操作訪問這些Dll的最佳方式?從C#調用本機Delphi代碼#

+0

我建議去託管C++的包裝。 你到底想做什麼? – Danahi 2013-03-14 13:57:05

+0

這解釋了您的選項:http://blogs.msdn.com/b/msdnts/archive/2010/05/03/call-native-c-dll-from-c-code.aspx – 2013-03-14 13:58:20

+0

2分鐘..只是_too_長。 – 2013-03-14 13:58:22

回答

1

可以使用的DllImport來實現你的目標,按以下操作:

[DllImport("kernel32.dll")] 
public static extern IntPtr OpenProcess(uint dwDesiredAccess, bool bInheritHandle, int dwProcessId); 

你可以用任何的Win32 DLL兼容,其中包括德爾福的人使用它。

+0

這是否也適用於調用32位DLL的64位機器?還是必須爲這些情況提供本機代碼的64位DLL? – Konrad 2013-03-14 14:00:54

+2

@Konrad如果您將C#代碼構建爲x86,那麼您需要提供32位DLL。如果構建爲「AnyCPU」,則需要在x86操作系統上提供32位DLL,並在x64操作系統上提供64位DLL。 – 2013-03-14 14:02:12

+0

好的,謝謝@AlvinWong :-) – Konrad 2013-03-14 14:04:05