cpubbs论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

LabVIEW+单片机学习套件全套教程资料下载[免费]LabVIEW论坛精华列表贴USB0816数据采集卡《LabVIEW宝典》
LabWindows/CVI论坛精华贴NET0816以太网数据采集卡RC0210远程设备授权系统 关闭关停锁定打开设备 户外分布式数据采集
NET1624低速高精度以太网数据采集卡WIFI0824SD无线WIFI网络数据采集卡脱机运行 SD存储 小尺寸微型 串口采集远程采集 安卓 手持移动采集 纪录仪
查看: 3955|回复: 17

[labview求助] 8.6开始的报表工具包不好使,这个问题大家怎么解决的?

[复制链接]
发表于 2010-12-6 21:24:55 | 显示全部楼层 |阅读模式
本帖最后由 wdyjz 于 2010-12-7 15:14 编辑


1.1.3报表工具包是为LV8.6开发的,开始使用了面向对象的class技术,自此,噩梦开始。

生成的exe文件夹内多了很多的报表的支持的VI。

而且,build exe时,提示


LabVIEW prevented a file name collision during the build. Duplicate file names cannot be copied to the same destination. You can rename files as part of the build process to avoid name conflicts.


The following files were moved to a unique location:


NI官方网站上关于这个话题的讨论,简直是....,自己看


http://forums.ni.com/t5/LabVIEW/Build-name-conflicts-NI-Report-Generation-Toolkit/td-p/803239/page/3


很难解决,LV2009下的报表工具包也不例外吧
看NI开发工程师的解释:
Hey everybody,

Sorry I'm a couple of months late to the RGT bashing party. I had not seen this thread until today.  I took over ownership of the Report Generation Toolkit late in the release cycle for version 1.1 back in early 2004.  I was the primary developer for versions 1.1.1 and 1.1.2.  I will also be the primary developer for the next release.  I was not the developer for the 1.1.3 release that accompanied LabVIEW 8.6, but I was very much involved in the early design and brainstorming.  I'd like to explain why we made some of the choices that we did.

As you may know, the LabVIEW 8.6 release centered around the Platform DVD, which was NI's way of unifying LabVIEW, its modules, and its toolkits, all under one installer.  The advent of the Platform DVD meant that the 8.6 release, and all future releases, would include updates for each and every module and toolkit.  It also meant that all products that fall under the Platform DVD umbrella would now be licensed, which gave LabVIEW users the benefit of being able to install and run any module or toolkit with a 30-day evaluation period.  So at this point, understand that it was a 100% requirement that the Report Generation Toolkit become licensed under 8.6.

Now, a peculiar thing about the Report Generation Toolkit prior to 1.1.3...it was the only LabVIEW toolkit that actually *replaced* files on disk when you installed it.  Specifically, it replaced vi.lib\utility\nireport.llb, several LLBs in the vi.lib\printing folder, several .mnu files in the menus folder, a .chm or two in the help folder, etc.  All of these replaced files had added functionality to support generating Word and Excel reports.  If you uninstalled the toolkit, we would replace the files with the original core LabVIEW files.

Unfortunately, this design was completely incompatible with the way licensing works.  In order for VIs and palettes to check license status, the VIs and .mnu files in question must be part of a licensed library.  There was no way we could continue to overwrite files on disk (and remove/replace them on an uninstall).  That would require us overwriting the files when you install the toolkit, but if you're doing an eval, and you didn't activate after 30 days, we'd have to somehow revert back to the old files...but if you then activated at a later date, we'd have to replace the files again.  There's nothing in our licensing scheme that even remotely supports this behavior.  And since RGT was the only toolkit that fell into this category, we decided the best idea was a redesign of the toolkit, and the Report Generation API in LabVIEW, to support a plug-in architecture where we could install new files alongside the core Report Gen VIs to add the Word and Excel functionality, without changing anything in the core VIs (which support Standard and HTML reports).

So looking at an API that was refnum-based and needed the possible dynamic creation of report types (i.e. sometimes you may have the Word and Excel stuff installed, but sometimes not), we decided to go with LabVIEW Classes.  Obviously there are pros and cons to this approach...the biggest con, as we have seen in this discussion thread, was the creation of folders of support VIs next to the EXE when building an executable.  I'll be honest, we did consider this scenario while brainstorming the redesign, but since the issue of building same-named VIs into an EXE already existed prior to the toolkit (since it can happen with standard .lvlibs), and since we knew we had no choice but to go ahead with the redesign, we stuck with the LV Classes approach.

All this being said, we did not anticipate it being as big a problem as all of you (and even some internal LabVIEW users at NI) have indicated.  And for my part in the decision-making, I apologize for that.  I will reiterate a previous point made in this thread, which is that we are actively investigating ways to solve the "extra files next to the EXE" problem in a future LabVIEW version, not just for RGT, but for any app that has same-named VIs.

So now that I own the toolkit again, I'm happy to take suggestions on things y'all would like to see "fixed" in the next release.  And let's assume that the architecture will continue to be class-based, and that we are already trying to solve the extra files with the EXE issue.  What other major problems have y'all had with this most recent release of the toolkit that you would like to see addressed?

-D
Darren Nattinger, CLA
LabVIEW Artisan and Nugget Penman


 楼主| 发表于 2010-12-6 21:31:00 | 显示全部楼层
我和CPUBBS,lgh269版主做了简单的沟通,各自的方法都不同。我平时采用的8.2.1+1.1.2报表工具包;lgh269采用的第三方工具包,也推荐使用2010+最新的NI报表工具包;CPUBBS采用7.1版本配合低版本。
 楼主| 发表于 2010-12-6 21:31:59 | 显示全部楼层
本帖最后由 wdyjz 于 2010-12-7 16:38 编辑

另,lgh269版主还推荐使用高版本的LV安装低版本的报表工具包,这也是个好办法,但是不适合LabVIEW8.6;8.6.1;及更新版。
Report1.1.2采用面向过程技术编程,可以适用于7.0;7.1;7.1.1;8.0;8.0.1;8.2;8.2.1;8.5;8.5.1;
report 1.1.3及更新版采用了面向对象技术,不能采用旧版本。
LV8.6(1.1.3+1.1.4)。
 楼主| 发表于 2010-12-6 21:34:16 | 显示全部楼层
面向对象技术本身在其他语言里已经很成熟了,但2010版本之前的8.6,8.6.1;2009sp1,2009sp2,都不太好,那次和NI工程师讨论这个OOP问题,他反问,你为啥要用OOP?汗啊~
 楼主| 发表于 2010-12-6 21:36:14 | 显示全部楼层
关于OOP基础上开发的报表工具包,在NI的英文网站上讨论的很火。
NI工程师多次出面发帖解答,大家都不满意。大家都喜欢追求稳定的东西,而非纯新而新的东西。尤其工业界更是如此,很影响系统的稳定性和面子的。
 楼主| 发表于 2010-12-6 22:25:19 | 显示全部楼层
本帖最后由 wdyjz 于 2010-12-6 22:29 编辑

2010版本下面的报表工具包工作完好,终于收到了8.2.1+1.1.2的报表的效果。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2010-12-6 22:33:01 | 显示全部楼层
面向对象(LabVIEW2010+reoprt2010)和面向过程(LabVIEW8.2.1+ report1.1.2)的效果一致了。
 楼主| 发表于 2010-12-6 22:50:22 | 显示全部楼层
本帖最后由 wdyjz 于 2010-12-7 10:57 编辑

到此,把1.1.3报表工具包卸载了。  
建议:如果不是用NI的报表工具包,可以继续是用LV8.6;如果用了报表工具包,建议不要用LV8.6;
7.1;8.2.1和2010;这3个版本我认为是 很稳定的。低版本便于大家交流,高版本可以学习和了解新技术。
 楼主| 发表于 2010-12-7 10:29:08 | 显示全部楼层
http://digital.ni.com/public.nsf ... 0314825720F00402170
在同一个计算机上不同版本的LabVIEW中使用Report Generation Toolkit for Microsoft Office.

http://huntersyq.blog.hexun.com/31582600_d.html
关于Labview8.6和Office Toolkit 1.1.3编译时产生的重命名冲突的解决方案
 楼主| 发表于 2010-12-7 18:18:11 | 显示全部楼层
LabVIEW 8.6下的报表工具包的问题解决方案
wdyjz(CPUBBS论坛版主)
http://www.cpubbs.com
2010.11.07
摘要:针对LabVIEW8.6下的报表工具包的生成exe过程中出现的文件名冲突和生成exe后文件夹内多添加的大批文件夹的头疼问题,参考论坛上朋友(含NI工程师)的意见,做了一个解决方案,提供大家参考。
关键词: LabVIEW8.6; Report; VI name冲突; exe;多余文件夹;面向对象

引言
面向对象技术自从LabVIEW8.2开始引入,其核心是一个簇的灵巧使用而已。NI报表工具包从1.1.3开始采用面向对象技术,准备统一的改进报表技术,1.1.3和1.1.4的报表工具包是专为LabvIEW8.6而定制使用的,但很不幸,这个版本造成了用户的怨声载道,主要是因为生成exe时提示VI名称冲突,并且,生成的exe所在文件夹内一堆的VI,令人很是不爽。最主要的警告如下:
LabVIEW prevented a file name collision during the build. Duplicate file names cannot be copied to the same destination. You can rename files as part of the build process to avoid name conflicts.
The following files were moved to a unique location:...
NI工程师多次出面发帖解答,大家都不满意。大家都喜欢追求稳定的东西,而非纯新而新的东西。尤其工业界更是如此,很影响系统的稳定性和面子的。
这个问题直到在LabVIEW2010版本发布,才得到了解决。尽管如此,对于一些仍旧使用LabVIEW8.6版本的用户,如何做呢?
首先,不能采用1.1.1和1.1.2版本,因为它们是面向过程的技术,在LabVIEW8.6版本下和自带的Report函数不兼容。
其次,我和CPUBBS,lgh269版主做了简单的沟通,各自的方法都不同。我平时采用的8.2.1+1.1.2报表工具包;lgh269采用的第三方工具包,也推荐使用2010+最新的NI报表工具包;CPUBBS采用7.1版本配合低版本。
 楼主| 发表于 2010-12-7 18:19:26 | 显示全部楼层
本帖最后由 wdyjz 于 2010-12-7 19:01 编辑

我的解决方案。(参考)
http://digital.ni.com/public.nsf/allkb/2AE85CF95217E60786257540000D818C

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2010-12-7 19:02:41 | 显示全部楼层
LabVIEW 8.6下的报表工具包的问题解决方案
wdyjz(CPUBBS论坛版主)
http://www.cpubbs.com
2010.11.07
摘要:针对LabVIEW8.6下的报表工具包的生成exe过程中出现的文件名冲突和生成exe后文件夹内多添加的大批文件夹的头疼问题,参考论坛上朋友(含NI工程师)的意见,做了一个解决方案,提供大家参考。
关键词: LabVIEW8.6; Report; VI name冲突; exe;多余文件夹;面向对象
发表于 2010-12-10 14:24:21 | 显示全部楼层
回复 wdyjz 的帖子

受益匪浅,运用过后证实效果很好,赞一个
发表于 2011-1-9 12:34:19 | 显示全部楼层
发表于 2011-2-25 09:52:14 | 显示全部楼层
在2010中,报表好像也有问题,我建了一个很简单的程序,新建一个报表,新增一个VI控件图像的VI,然后就是打印。我增加了要包含的文件,生成EXE的时候,没有问题。但是,我将它生成DLL以后,就提示文件找不到了。有什么方法解决吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|cpubbs论坛. ( 粤ICP备09171248号 )

GMT+8, 2025-5-3 23:23 , Processed in 0.818132 second(s), 6 queries , Gzip On, File On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表