Qt开发环境中使用报表控件FastReport遇到的一些问题

FastReport是一款优秀的报表控件,由俄罗斯开发,国内有代理商。Qt环境下可实现报表功能的还有一款叫NCReport,也是收费控件,比较来比较去还是觉得前者功能强点。
网上讲解此控件在Qt中使用的文章比较少,故在此做下记录:

概述:

1. FastReport版本有VCL, .NET, COM/ActiveX,
Mono等等,其中Qt下使用只能使用COM/ActiveX版本。
2.
网上破解版有3.2,4.5和最新的4.9(2014年),3.2这个版本貌似功能不全,Qt下老报错;4.9版本可以正常使用。
3.
安装FastReport
Studio后就可以在Qt中使用QAxObject对象访问此COM对象了。如果部署机器没有FastReport,需要照
FastReport文档中Deploy一节部署,包括拷贝需要dll和语言文件,regsvr32注册,修改注册表中语言配置等步骤。
4.
根据FastReport官方文档显示,国内授权的经销商有3家,其中一家的官网还打不开,如果购买主要可以考虑重庆慧聪空间网,

根据授权类别,价格从几千到数万不等。
5.
官方文档没有指出初始化控件需要提供的参数。根据Qt文档中指出,使用Guid{4764040e-4222-4dec-9f2e-82d46e212b3a}初始

化COM最快,其次是使用COM名称FastReport.TfrxReport。

功能说明:
1. 报表中主要使用两类对象,一个是band,一个是text
object。band作用即把打印内容按逻辑分类;text用于显示文字。
2.
使用中括号[]括起来的标示变量,工具栏中有个fx图样按钮可以打开变量编辑框。
3.
COM对象的接口,方法,属性等信息可以使用Qt自带的dumpdoc工具生成。
4. hello world代码举例:


1 QAxObject object("{4764040e-4222-4dec-9f2e-82d46e212b3a}", this);
2
3 object.dynamicCall("LoadReportFromFile(QString)", "test.fr3");
4 QVariantList params ;
5 params<<"my_var"<<"123";
6 object.dynamicCall("SetVariable(QString, QString)", params);
7 object.dynamicCall("ShowReport()");

备注:上面代码中my_var是报表设计器中指定的报表变量,此示例代码先初始化FastReport
COM控件对象,然后加载使用报表设计

器设计的一个报表test.fr3,
然后使用Qt代码从Qt给报表传输值,最后显示报表内容。经测试,给变量my_var赋值123报表可正常

显示,如果换成纯英文字母就报错了,提示Expression找不到,暂时不清楚原因,稍后解决。

时间: 2024-07-28 21:08:50

Qt开发环境中使用报表控件FastReport遇到的一些问题的相关文章

Qt开发环境中使用报表控件FastReport遇到的一些问题(二)

上一节中谈到的那个问题:传递的变量内容如果是纯英文,报表报错.经笔者反复测试,找到了解决办法:代码中第5行替换为以下 params<<"my_var"<<"\"xyz\""; 在内容前后用\"把内容括起来,在把报表设计器中Code页的语言设置为非PascalScript就好了. Qt开发环境中使用报表控件FastReport遇到的一些问题(二),布布扣,bubuko.com

开发环境VS2005,三方控件Dev8.2开发的软件在VS2010上跑起来的问题

大三了,到公司实习,公司有Java和.Net两个方向的软件开发,我主要是做.Net开发,且公司主要是做C/S开发,并且用的第三方控件Dev Express.这个东西以前从未接触过,公司给了我们一个以前做好的软件,让我们练手.这个软件是用vs2005,基于framework2.0开发的,用的Dev的版本是8.2的,数据库是mssql2005,现在要求我们用vs2010开发,现将从vs2005转换到vs2010过程中遇到的问题记录下来,供自己和有需要的朋友看看哈,第一次写博客,写的不好还请多多担待,

ActiveReports 报表控件官方中文入门教程 (2)-创建、数据源、浏览以及发布

原文:ActiveReports 报表控件官方中文入门教程 (2)-创建.数据源.浏览以及发布 本篇文章将阐述首次使用 ActiveReports 报表控件 的方法,包括添加报表文件.绑定数据源以及如何发布报表等内容. ActiveReports 报表控件官方中文入门教程 (1)-安装.激活以及产品资源 ActiveReports 报表控件官方中文入门教程 (3)-如何选择页面报表和区域报表 主要内容包括: 新建工程 在工程中添加ActiveReports报表文件 添加报表数据源 浏览报表 发布

在Qt中使用ActiveX控件

Qt的windows商业版本提供了ActiveQt这个framework,使用这个组件我们可以在Qt中使用ActiveX控件,并且也开发基于Qt的ActiveX控件.ActiveQt包含了两个组件QAxContainer和QAxServer. l         QAxContainer允许我们使用COM对象,并且可以将将ActiveX控件嵌入到Qt程序中去. l         QAxServer可以将我们写的Qt控件导出为COM对象或者是ActiveX控件. 第一个例子我们来演示一下在Qt中

在web浏览器窗口中编辑报表的报表控件Stimulsoft Reports.Web

Stimulsoft Reports.Web是一个报表工具,适用于Web的报表生成器控件.其设计的目的在于通过Web浏览器创建和渲染报表.您可以创建报表,显示报表,打印报表,导出报表. Stimulsoft Reports.Web将提供完整的报表创建周期,从报表模板开始到在浏览器中显示报表为止.这一过程可在web浏览器未被关闭时完成.Stimulsoft Reports.Web是第一款可以让您直接在Web中编辑报表的报表工具.在您的客户端的机器里不需要安装.Net框架.ActiveX控件或其他特

在网页中编辑报表的报表设计器Stimulsoft Reports Designer.Web报表控件

Stimulsoft Reports Designer.Web报表控件是一款网页报表设计器.您想在网页中编辑您的报表吗?现在是可能的! Stimulsoft Reports Designer.Web -是第一款使您可以完全在网页中编辑报表的报表设计器.在您的客户端机器里不需要安装.Net框架.ActiveX控件或其他特殊的插件.您只需要一个Web浏览器. Stimulsoft Reports Designer.Web是新式和便捷的接口并且功能丰富以及工作快速. 操作简单将报表编辑的支持添加到您的

WinForm开发中针对TreeView控件改变当前选择节点的字体与颜色

本文转载:http://www.cnblogs.com/umplatform/archive/2012/08/29/2660240.html 在B/S开发中,对TreeView控件要改变当前选中节点的颜色比较方便,其有相应的SelectedNodeChanged事件进行控制,但对于WinForm则没有这样方便.申明一下,我在这儿所说的改变当前节点的字体与颜色,主要是在WinForm中的TreeView控件,当前选中节点后,其失去鼠标焦点后节点的字体与颜色失去了选中状态,层级一多,我们就不知道当前

Android开发中给EditText控件添加TextWatcher监听实现对输入字数的限制

做这个功能是因为开发项目的时候,由于后台接口的一些参数的值的长度有要求,不能超过多少个字符,所以在编辑框中输入的字符是要有限制的. 下面就来看一下demo的实现过程: 首先,在xml控件中放置一个EditText控件,然后初始化该控件并对该控件添加文本监听.xml自己简单的设计一下,代码较为简单,直接上代码: package com.example.edittext; import android.app.Activity; import android.os.Bundle; import an

UniGui中使用Grid++Report报表控件子报表获取数据的方法

Grid++Report是为优秀的报表控件,子报表是其重要功能之一,但Grid++Report提供的网页报表示范主要是以页面为主的,UniGui在Delphi中以快速编写web管理软件著称,但由于资料文档很少,经过摸索,Grid++Report的子报表要在uniGUi中正确获取子报表数据,只能通过Ajax数据回调的方式进行,在uniGUi中对前端Ajax的响应,就要是通过控件的AjaxEvent事件来处理.报表模板的展示部分的HTML代码要放在UniURLFrame控件的HTML属性中.Ajax