C#如何调用DELPHI写的dll文件呢~
现在有一个DELPHI写的dll文件,里面包含2个方法,如何调用这个dll并使用其中的方法呢~~求解,谢谢
using System.Collections.Generic; using System.Text; using System.Runtime.InteropServices; namespace DllTest { public class DllInvoke { [DllImport("Kernel32.dll")] private static extern IntPtr LoadLibrary(string path); [DllImport("Kernel32.dll")] private static extern IntPtr GetProcAddress(IntPtr lib,string FunName); [DllImport("kernel32.dll")] public static extern bool FreeLibrary(IntPtr lib); private IntPtr libr; public DllInvoke(string path) { libr = LoadLibrary(path); } public Delegate Invoke(string funName, Type type) { IntPtr api = GetProcAddress(libr, funName); return (Delegate)Marshal.GetDelegateForFunctionPointer(api, type); } ~DllInvoke() { FreeLibrary(libr);//释放。必须的 } } } 完成上面的函数声明后,接着我们先定一个委托. delegate bool doDllFunction();//如果需要执行的函数有参数,可对之进行声明。 DllInvoke dllInvoke = new DllInvoke(filePath);//非托管dll文件路径 doDllFunction show = (doDllFunction) dllInvoke.Invoke(InitFunction,typeof(doDllFunction));// InitFunction为需要执行的函数名show();//执行方法,可根据定义决定是否需要传参数