C#調用Delphi接口方法,有兩種解決辦法:
一、將Delphi程序編譯成一個COM組件,然後在C#裡引用COM組件。
二、非托管調用Dephi的DLL文件。
這裡我們主要講解一下第二種方法,講第二種方法之前首先講解下DllImport。
DllImport是System.Runtime.InteropServices命名空間下的一個屬性類,其功能是提供從非托管DLL導出的函數的必要調用信息。
DllImport屬性應用於方法,要求最少要提供包含入口點的dll的名稱。
DllImport的定義如下:
代碼 1 [AttributeUsage(AttributeTargets.Method)]
上面DLL的名字有時需要寫上路徑的如[DllImport(@"C:OJBinJudge.dll")]這樣指定DLL的絕對路徑就可以正常裝載。
假如沒有路徑的話,DllImport會按照順序自動去尋找的地方:
1、exe所在目錄
2、System32目錄
3、環境變量目錄
所以只需要你把引用的DLL 拷貝到這三個目錄下, 就可以不用寫路徑了。
說明: &