C#实战029:FANUC开发-动态链接库Dll使用

 时间:2024-10-25 06:48:32

1、 在c#中我们平时引用动态链接库Dll都在是在项目名上右击选择“添加应用”的方式将动态链接库Dll导入项目中,但是FANUC提供的动态链接库Dll无法直接这样导入,因为他没有托管到公共语言运行库,所以无法直接调用,这是我们就要用到DllImport来将其导入项目了。

C#实战029:FANUC开发-动态链接库Dll使用

3、然后添加空间名引用:using System.Runtime.InteropServices;DllImport用于指定FANUC提供的动态链接库Dll位置在类中添加(DllImport只能放置在方法声明上):[DllImport("Fwlib32.dll", EntryPoint = "cnc_allclibhndl3")]

4、DllImport有6个参数,自己根据需求设置参数:1、CallingConvention参数:指入口点的调用,如果未指定则使用默认值CallingConvention.Winapi;2、CharSet参数:指用在入口点的字符集。如果未指定则使用默认值CharSet.Auto;3、EntryPoint参数:指声明的方法在dll中入口点的名称,如果未指定则使用方法本身的名称;4、ExactSpelling参数:指EntryPoint是否必须与指示的入口点的拼写完全匹配。如果未指定则使用默认值false;5、PreserveSig参数:指方法的签名应被应当被保留还是被转换,如果未指定则使用默认值false;6、SetLastError参数:指示方法是否保留Win32上的错误,如果未指定则使用默认值false。

5、引用了FANUC提供的动态链接库Dll,接下来就是使用该Dll了,用DllImport修饰的方法必须用static extern修饰符定义该方法:/* allocate library handle 3 */[DllImport("FWLIB32.dll", EntryPoint="cnc_allclibhndl3")]public static extern short cnc_allclibhndl3( [In,MarshalAs(UnmanagedType.AsAny)] Object ip, ushort port,int timeout, out ushort FlibHndl);

C#实战029:FANUC开发-动态链接库Dll使用

7、将参数传入函数Focas1.cnc_allclibhndl3函数中,并获得返回值,文档Return Status of Data Window Functions中给我们提供了各种返回参数的含义,可以拿来对比。

C#实战029:FANUC开发-动态链接库Dll使用
  • 图解在Windows Server2008上安装Oracle
  • C#如何用redis
  • WIN RAR 去广告,安装以及注册
  • 深信服上网行为管理产品的部署方式
  • 企业内网如何进行动态域名解析
  • 热门搜索
    瞌睡多是什么原因 什么是课程 library什么意思 家喻户晓是什么意思 s是什么单位 盲板是什么 echo什么意思 全少一横念什么意思 深绿色配什么颜色好看 岁次是什么意思