怎样在Visual C++中使用CVI代码?
主要软件: LabWindows/CVI Development Systems>>Full Development System
主要软件版本: 6.0
主要软件修正版本: N/A
次要软件: N/A
问题: 我已经完成了CVI代码,但是我想把它应用到Microsoft Visual C++中去。
解答: 这里有两种办法可以实现在C++中调用CVI程序。
第一个办法就是在Visual C++中使用NI的Measurement Studio ActiveX控件。最快捷的方法就是使用Measurement Studio中的CVI项目引入向导(CVI Project Import Wizard)。这个向导会创建一个Visual C++的应用程序,包含该项目所有必须的设置和包含的文件。同时还创建一个名为UIRCallbackTable.c的文件,用于设置回调函数,这样就能在Visual C++正常工作。同时,还会有一个向导提供的Visual C附加工具(Add-in),可以监控UIR文件,并在回调函数被添加、删除或修改的时候更新UIRCallbackTable.c。这个方法需要Measurement Studio 1.0 (或更高),它是Measurement Studio的Visual C++应用程序向导的一部分。
另外一个在Visual C++中调用CVI程序的方法是在CVI中创建DLL,并在Visual C++中调用该DLL。如果您没有Measurement Studio,您需要手动创建一个Visual C++项目以完成向导自动完成的工作。 其中最困难的部分在于设置回调函数的外壳(wrapper),所以回调函数必须在Visual C++中编译。或者,您可以编译您的CVI代码,在DLL中包含所有的回调函数,再在Visual C++中调用这些回调函数。(由于CVI自动生成了所有回调函数,所以第二个方法工作量更小。)
Application Note 094 (链接见文末)谈到了如何实现这两种在CVI中生成DLL的方法。
CVI 6.0以及之后的版本,可以作为一个ActiveX服务器端,可以被其他任何windows应用程序访问。如需了解更多信息,参考
Building ActiveX Servers in LabWindows/CVI
,其中详细介绍了LabWindows/CVI ActiveX服务器工具和函数,并提供相关例程。该文档的链接可以在CVI帮助文档的
ActiveX Server Settings
找到。
相关链接: Developer Zone Tutorial: How to Integrate 32-Bit LabWindows/CVI 4.0 Libraries into Microsoft Visual C/C++ or Borland C/C++
附件:
报告日期: 10/20/2006
最近更新: 12/12/2007
文档编号: 1V1A1U8M
Other Support Options
Ask the NI Community
Collaborate with other users in our discussion forums
Request Support from an Engineer
A valid service agreement may be required, and support options vary by country.