程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#調用Delphi的dll之詳解-完整版(最後面附有可下載Demo源碼)

C#調用Delphi的dll之詳解-完整版(最後面附有可下載Demo源碼)

編輯:C#入門知識

C#調用Delphi接口方法,有兩種解決辦法:

    

  一、將Delphi程序編譯成一個COM組件,然後在C#裡引用COM組件。

  二、非托管調用Dephi的DLL文件。

 

      這裡我們主要講解一下第二種方法,講第二種方法之前首先講解下DllImport。

     DllImport是System.Runtime.InteropServices命名空間下的一個屬性類,其功能是提供從非托管DLL導出的函數的必要調用信息。

     DllImport屬性應用於方法,要求最少要提供包含入口點的dll的名稱。
     DllImport的定義如下:
 

 

\\代碼  1      [AttributeUsage(AttributeTargets.Method)]
 2
      public class DllImportAttribute: System.Attribute
 3
      {
 4
       public DllImportAttribute(string dllName) {…} //定位參數為dllName
 5       public CallingConvention CallingConvention; //入口點調用約定
 6       public CharSet CharSet;                                   //入口點采用的字符接
 7       public string EntryPoint;                                  //入口點名稱
 8       public bool ExactSpelling;                               //是否必須與指示的入口點拼寫完全一致,默認false
 9       public bool PreserveSig;                                  //方法的簽名是被保留還是被轉換
10       public bool SetLastError;                                  //FindLastError方法的返回值保存在這裡
11       public string Value { get {…} }
12
      } 
13
 

 

  上面DLL的名字有時需要寫上路徑的如[DllImport(@"C:OJBinJudge.dll")]這樣指定DLL的絕對路徑就可以正常裝載。

      假如沒有路徑的話,DllImport會按照順序自動去尋找的地方:
     1、exe所在目錄
     2、System32目錄
     3、環境變量目錄
     所以只需要你把引用的DLL 拷貝到這三個目錄下, 就可以不用寫路徑了。

     說明: &

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved