- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LabVIEW 8.6报表工具包生成与调用DLL问题分析及对策
LabVIEW 8.6报表工具包生成与调用DLL问题分析及对策
摘 要:针对LabVIEW8.6调用报表工具包生成的DLL过程中出现“NI_Word.lvclass”路径无法找到的问题,做了详细描述和分析,并提供了相应的解决方案。
关键词:LabVIEW 8.6 Word 动态链接库 报表工具包 面向对象
中图分类号:TP3 文献标识码:A 文章编号:1672-3791(2012)07(a)-0007-02
LabVIEW是美国国家仪器(NI)公司推出的专门用于虚拟仪器开发的图形化软件编程平台,吸引了大批开发者追随,NI也根据市场需求每年推出一个新版本。但新技术的引用不可避免的也带来了新的问题和BUG,尤其是升级后,很多硬件驱动不得不更新。LabVIEW 8.6版本是NI推出的所有版本中,大部分用户公认比较成熟稳定的版本。
NI 报表工具包从1.1.3开始采用面向对象技术,重新设计,1.1.3和1.1.4版本是专为LabVIEW 8.6而定制使用的,而以前的版本如1.1.1、1.1.2(面向过程技术)在LabVIEW 8.6下与自带的Report函数不兼容。
1 问题描述
应用开发环境以及报表工具包版本:LabVIEW 8.6 + Report Generation Toolkit 1.1.3。
在LabVIEW 8.6新建工程项目文件,并按照图1和图2建立相应的VI和文件。
当运行main.vi或Main.exe时,出现下面(图3)报错框。
而单独运行1.vi或1.exe时,却能正常运行。
2 问题分析
根据问题报错框描述,问题可能出现在“Get LV Class Default Value.vi”的上一层文件“Word class path.vi”传递出的NI_Word.lvclass路径,图4为报表工具包自带的“Word class path.vi”程序框。
利用LabVIEW自带诊断和调试工具,可获得“Word class path”显示的文件路径,如表1所示。
(1)当运行main.vi时,由于是“Develo- pment system”环境下,根据路径的分离规则,“NI_Word.lvclass”文件路径应在当前DLL文件的下层目录,并且布尔量选择为False,即“..\1.dll\word\ NI_Word.lvclass”。
(2)当运行main.exe时,由于是在“Run Time system”环境下,布尔量的选择为True,系统默认“NI_Word.lvclass”是在“.. \1.dll\NI_Word.lvclass”。
(3)当运行1.vi时,由于是在“Develop- ment system”环境下,系统默认“NI_Word.lvclass”是在安装路径下,而且在该路径下可以找到此文件。
(4)当运行1.exe时,由于是在“Run Time system”环境下,系统默认“NI_Word.lvclass”是在当前EXE文件的下层目录,即“.. \1.exe\NI_Word.lvclass”。
现根据以前NI在对exe生成过程的描述,是将所有vi都转移到exe目录[1],例如a.vi路径为“c:\a.vi”,当生成exe时,路径变为“c:\a.exe\a.vi”,这点也可以从运行1.exe,“NI_Word.lvclass”的路径可以看出。
由于DLL生成过程类似于exe,以及上述运行结果分析,“NI_Word.lvclass”应该是在1.dll目录下,而在实际应用中,在“..\1.dll”或“..\1.dll\word”却找不到该路径。
如果在DLL的生成过程中,添加“NI_Word.lvclass”到“始终包括”中,需要注意的是,需在项目浏览器(工程项目)中手动添加“NI_Word.lvclass”文件“…\Nationalinstruments\
LabVIEW8.6\Vi.lib\utility\NIReport.llb\Word”,重新生成DLL,运行“main.vi”或“main.exe”失败。
如果修改“Word class path.vi”,指定一个固定路径给“NI_Word.lvclass”,如图5所示,却能够正常运行。
可见在生成DLL的过程中,并没有将“NI_Word.lvclass”包含到DLL的目录下。
3 解决方案
3.1 版本降级使用
当使用LabVIEW 8.5和Report Generation Toolkit 1.1.2以下版本时,不存在此类问题(升级为LabVIEW 2010+Report Generation Toolkit 2010也存在此类问题)。
原创力文档


文档评论(0)