8.6编译时出现如下情况:
LabVIEW已阻止程序生成时发生的命名冲突。无法复制重复文件名至相同目标。将文件重命名为程序生成过程的一部分以避免名称冲突。 以下文件被移至单独位置: D:\National Instruments\LabVIEW 8.6\vi.lib\Utility\NIReport.llb\Word\Append Control Image to Report.vi 等等
然后在生成目录下,就会有很多NI的VI,为什么呢,怎么解决!
我也有同样问题。发现目前不管是编译以前8.5.1下编写的程式还是目前直接在8.6环境下编写的程式,只要程式中有用到office报告生成工具包中的函数就会有此问题。该如何解决呢?
我现在都甚至卸载掉了8.5.1下的office报告生成工具包而仅保留了8.6版的,可问题依旧。请各位达人能不吝指教。
我这边编译后,exe文件执行后生成office报告的动作没有任何问题。就仅仅是编译exe文件时会在该exe文件所在目录下产生一大堆的关于office报告生成工具包的vi,以前使用8.5.1时不会有这些vi。
我比较了一下以前8.5.1下生成的exe与现在8.6.1下生成的exe文件,发现现在新版生成的exe文件明显比以前的小,估计是现在多余出来的那一堆vi没有被整合进exe文件导致。但是我还不知道如何解决这个问题,不知道ni的工程师有没有看到这个帖子,希望能帮忙指点指点。
1、在项目浏览器中添加NI_word.lvclass、 NI_excel.lvclass 、NI_Html.lvclass和 NI_Standard Report.lvclass四个文件
以下设置生成EXE属性
2、在目标中,添加1中对应的文件夹,注意命名要相同,右侧类别选llb,在路径框中把llb改为dll
3、在源文件设置中,把四个文件下的所有VI ,在右边的所有项设置目标改为2中的对应目录。
4、预览生成
谢谢。按照你的指点设置后,编译都没有问题了。但是执行EXE的报表功能时提示出错,错误代码为7。从详细信息中看是new report.vi不能正确执行。
查找ni网站发现下面的解释,但是可惜的是图片显示不出来,不知其中最重要的Figure 2: Modification of Excel Class Path.vi是怎么改的。
http://digital.ni.com/public.nsf/allkb/2AE85CF95217E60786257540000D818C#end
按照我上面连接的方法设置已经成功编译,执行exe也没有问题了。
解决我之前的问题的关键是在设置楼上所贴图片(也就是NI知识库文章链接中的Fig2)路径时,一定要注意和前面设置NI_Excel.lvclass为dll时的dll文件名保持一致。若是直接套用图上的名字,那执行exe时就会提示error 7了。例如,我设置将NI_Excel.lvclass保存为NI_Excel.dll,那在楼上所贴的图片中修改路径时其路径的正确名称就应该是NI_Excel.dll\NI_Excel.lvclass。
总之,这个困扰了我几天的问题至此终于完美解决了。非常感谢楼上的帮助。