接着说说如何调用DLL中带结构数组指针作为参数的函数.在原来Delphi中定义如下:











要在C#里正常调用,首先要定义出一个相同的结构






接着声明一个委托



从DLL得到委托实例



好,到此为止终于在C#里定义出相同的结果及函数了,下面就是要调用了,因为结构数组是要给非托管的DLL使用的,因此最关键的一点是要用Marshal.AllocHGlobal来分配好非托管内存,把结构数组放到内存中去,再把内存指针当作参数调用就OK啦













//前期的所有工作就是为了能正常用到m_Open


接着说说如何调用DLL中带结构数组指针作为参数的函数.在原来Delphi中定义如下:
要在C#里正常调用,首先要定义出一个相同的结构
接着声明一个委托
从DLL得到委托实例
好,到此为止终于在C#里定义出相同的结果及函数了,下面就是要调用了,因为结构数组是要给非托管的DLL使用的,因此最关键的一点是要用Marshal.AllocHGlobal来分配好非托管内存,把结构数组放到内存中去,再把内存指针当作参数调用就OK啦