最近需要在一个CVI程序里加入语音播报功能,由于CVI是基于C语言的编程,实现播报功能无从下手,而C#封装了库函数,可以直接调用,实现起来方便很多。下面重点记录一下CVI程序调用C#生成的Dll文件的过程。
首先,在vs中建立一个类库,编写含有语音播报功能的方法,并将其生成Dll文件。
语音播报功能编写见:http://www.cnblogs.com/leep2007/archive/2012/02/27/2370576.html。
然后,由于CVI程序无法直接调用C#生成的Dll文件,需要先将Dll文件通过CVI工具选项卡中的“Create.NET Controller”,生成一个调用.NET汇编代码的包装器(wrapper),该包装器包含对应的仪器驱动(*.fp)、源文件(*.c)和头文件(*.h)。包装器的生成具体步骤如下:
1. 选择tools菜单栏下的“Create .NET Controller”菜单;
2. 在弹出的对话框中勾选Specify Assembly by Path,选择需要调用的Dll文件,以及生成的包装器所在路径和名称,如图1所示。
3. 点击OK,即在选择路径生成包装器,同时.fp文件已添加至工程中。