From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.



怎样在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