程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#調用dephi的dll之詳解

C#調用dephi的dll之詳解

編輯:C#入門知識

C#調用dephi的dll用DllImport來調用的
一般是用非托管的
具體形式如下:[DllImport("WZFSE.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
下面緊接著他的申明函數
public static extern void InitDll(IntPtr handle, bool methodAddress);
申明一個函數就要引用下他的dll
IntPtr這個類型可以申明為其他語言的句柄,指針等。
若要實現其他語言類似C++的函數指針形式 這時我們考慮用C#的委托來實現

將dephi的窗體簽入到自己的C#系統裡 還有一點比較重要,我們是調用dephi的窗體,此時顯示在我們C#窗體中會有dephi的窗體  

這時我們怎麼辦呢  怎麼去除dephi中的窗體呢  這時我們就需要用API函數了 API函數在dephi有 C#中也有
在C#中是這麼引用的 [DllImport("user32.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
        public static extern void MoveWindow(IntPtr handler, int x, int y, int width, int height, bool repaint);

下面插入一個類 這裡面包含了怎麼引用dephi的dll 以及怎麼申明

\\代碼  1  public class CompliancePlatDLL
 2
     {
 3
         public static string strPath = "";
 4
         /// <summary>
 5         /// 初始化
 6
         /// </summary>
 7         /// <param name="handle"></param>
 8         /// <param name="methodAddress"></param>
 9         [DllImport("WZFSE.dll", CharSet = CharSet.Ansi, CallingConvention = CallingConvention.StdCall)]
10
         public static extern void InitDll(IntPtr handle, bool methodAddress);
11
         /// <summary>
12         /// 加載相應的服務
13
         /// </summary>
14         /// <param name="str"></param>
15         /// <param name="str2"></param>
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved