如果现在的项目使用的是ActiveReports for .NET 3.0,那么有两种升级方式:

  • 一是使用ActiveReports 6.0附带的转换工具(参见下面“升级ActiveReports for .NET 1.0 或2.0项目”);
  • 二是在Visual Studio中打开工程,用新版本的DLL替换掉旧版本的DLL引用,并且修改代码的编译错误。

替换工程的DLL引用

  1. 在Visual Studio中打开需要升级的报表工程。
  2. 在解决方案资源管理器中,点击“显示所有文件”按钮。 
  3. 展开“引用”文件夹,记录下来工程中当前引用的ActiveReports DLL的名字。
  4. 右键点击每个 ActiveReports3引用,选择“移除”。
  5. 右键点击“引用”文件夹,选择“添加引用…”。
  6. 在弹出的添加引用对话框中,选择版本为6.x.xxx.x 的ActiveReports引用。注意,除了与ActiveReports3对应的ActiveReport6引用外,还需要添加GrapeCity ActiveReports Document引用。
  7. 点击“确定”按钮增加这些引用并关闭对话框。许多错误出现在Visual Studio的错误列表窗口。

修改代码错误

  1. 如果Visual Studio的错误列表窗口没有显示出来,在视图的下拉式菜单中选择“错误列表”。
  2. 在错误列表窗口中,双击ActiveReports3没有被定义的警告信息。
  3. 在报表代码中,ActiveReports3被高亮显示。把ActiveReports3 改为ActiveReport,这样应该可以消除错误列表中的大部分错误。
  4. 在错误列表窗口中,双击ActiveReports3.FetchEventArgs没有被定义的警告信息。
  5. 在报表代码中,把ActiveReports3 改为ActiveReport
  6. 关闭报表的设计视图并再次打开,升级完成。

升级ActiveReports for .NET 1.0 或2.0项目

因为ActiveReports 6用C#或Visual Basic.NET代码描述报表布局,用ActiveReports for .NET 1.0和2.0生成的RPX文件需要被转换后才能在新版本上运行。ActiveReports 6包含了一个转换工具来帮助用户轻松完成此转换。

注意,转换工具不支持使用了报表继承的1.0或2.0报表。为转换这些报表,需要先执行如下操作:

  • 把继承报表对象的基类改为ActiveReport
  • 确认报表对象的InitializeReport方法能够被重载。

ActiveReports从NET 3.0版本开始改变了控件命名规则。在1.0和2.0版本中,控件的名称可以用大小写区分,比如可以用”Test”和”test”表示两个不同的控件,但ActiveReports 6(和3)要求控件的名称必须是唯一的且不区分大小写。如果装载的RPX文件中包含两个仅用大小写区分名字的控件,装载将会失败。为了避免此问题,需要给每个控件一个单独的名字,并且把代码做相应修改。

运行转换工具转换老版本的RPX文件:

  1. 在Visual Studio中打开现有的ActiveReports for .NET 1.0 或2.0工程,报表RPX文件将出现在解决方案资源管理器中。
  2. 在工具菜单下,选择 Convert to ActiveReports 6.0 打开ActiveReport报表转换工具,转换工具会列出工程中的所有RPX文件。 
  3. 点击OK转换报表文件。报表会以C#或者VB文件的形式出现在解决方案资源管理器中,所有ActiveReports老版本的引用也已经被更新。
  4. 如果项目代码中使用了rpt.Show方法,错误信息将会出现在错误列表窗口中。为修正次错误,用rpt.Run 代码替代,然后增加一个Viewer control到Form上,并且设置viewer.Document = rpt.Document。

移植ActiveReports 2.0(COM)项目

ActiveReports 6 能够使用ActiveReports 2.0 (COM) 的报表布局文件(RPX),但需要对其中的脚本代码进行一些修改。必须在ActiveReports 2.0设计器中先把ActiveReports 2.0 的设计文件(DSR/DSX)保存为RPX文件,然后才能被装载到ActiveReports 6当中。因为ActiveReports不会装载RPX文件中的VB代码或脚本代码,这些代码需要用.NET环境中的相应语言进行重写。

ActiveReports 6:如何升级旧版本的项目的更多相关文章

  1. 导入旧版本Android项目时的“Unable to resolve target ‘android

    在Ecplise + ATD + Android SDK的开发中,导入旧版本的Android项目时,往往会出现类似的如下错误 Error:Unable to resolve target 'andro ...

  2. centos python2升级为python3 升级旧版本django

    阿里云centos python3 及django的配置 安装python3后 pip 会把下载的包安入python2.7 下面解决该问题 python3.5安装1,安装依赖包#yum install ...

  3. 将旧版本jQuery升级到新版本的jQuery

    需要将项目中的旧版本jQuery升级到新版本的jQuery,为解决兼容性问题得下载一个js兼容包.例子:升级的项目中jQuery1.x到jquery3.x,需要一个jquery-migrate-3.1 ...

  4. windows 下升级安装mysql8,与旧版本5.6共存

    应开发需求,自mysql5.7开始引入json列类型和相关函数.为了提高数据读写的访问效率因此把数据库从mysql 5.6版升级到最新发行版 mysql 8.0.11 . 特此记录下多版本升级共存的过 ...

  5. [Angular] 删除旧版本,升级安装最新版本

    目录 删除旧版本 清除未卸载干净的angular-cli缓存 对于Linux 对于Windows 安装最新版本 查看安装版本 创建新项目 删除旧版本 npm uninstall -g angular- ...

  6. coreData旧版本增加字段,新版本是否可以继续使用旧版本内容的测试(MagicalRecord的使用)

    coreData使用第三方库MagicalRecord, 参考文章:http://blog.csdn.net/kuizhang1/article/details/21200367 coreData数据 ...

  7. C++开发新版本vs使用旧版本vs编译的静态库动态库

    关于vs潜在的升级问题概述 (Visual C++)查看官网的介绍:潜在的升级问题概述 (Visual C++).主要问题: 1. 如果使用 /GL(全程序优化)进行编译,则生成的对象文件只能使用生成 ...

  8. ABP开发框架前后端开发系列---(16)ABP框架升级最新版本的经验总结

    有一小段时间没有持续升级ABP框架了,最近就因应客户的需要,把ABP框架进行全面的更新,由于我们应用的ABP框架,基础部分还是会使用官方的内容,因此升级的时候需要把官方基础ABP的DLL进行全面的更新 ...

  9. 非关系型数据库来了,CRL快速开发框架升级到版本4

    轮子?,我很任性,我要造不一样的轮子,同时支持关系型和非关系型的框架有没有 新版数据查询作了些调整,抽象了LabmdaQueryy和DBExtend,升级到版本4,非关系数据库MongoDB被支持了! ...

随机推荐

  1. 大数据学习系列之二 ----- HBase环境搭建(单机)

    引言 在上一篇中搭建了Hadoop的单机环境,这一篇则搭建HBase的单机环境 环境准备 1,服务器选择 阿里云服务器:入门型(按量付费) 操作系统:linux CentOS 6.8 Cpu:1核 内 ...

  2. Python 学习(1) 简单的小爬虫

    最近抽空学了两天的Python,基础知识都看完了,正好想申请个联通日租卡,就花了2小时写了个小爬虫,爬一下联通日租卡的申请页面,看有没有好记一点的手机号~   人工挑眼都挑花了. 用的IDE是PyCh ...

  3. windows环境Caffe安装配置步骤(无GPU)及mnist训练

    在硕士第二年,义无反顾地投身到了深度学习的浪潮中.从之前的惯性导航转到这个方向,一切从头开始,在此,仅以此文记录自己的打怪之路. 最初的想法是动手熟悉Caffe,考虑到直接上手Ubuntu会有些难度, ...

  4. duilib 快捷键发送消息

    全局快捷键设置类,文章最以下,有3种不同的使用方法(假设设置的快捷键,与其它软件的快捷键同样.那么仅仅有你的程序起作用.你释放后它才干够使用) .h文件 #pragma once class CHot ...

  5. 关于Oracle处理DDL和DML语句的事务管理

    SQL主要程序设计语言 数据定义语言DDL(Data Definition Language) 如 create.alter.drop, 数据操作语言DML(Data Munipulation Lan ...

  6. hdu4553约会安排 线段树

    //DS QT  找一段最靠前的长度为QT的空间 //NS QT  找一段最靠前的长度为QT的空间.假设没找到能够将DS占领的空间当做空暇空间,找一段最靠前的空间 //STUDY!! L R  清空L ...

  7. 关于windows phone 8.1系统手机对html5触摸事件的支持情况

    近日购入一部微软Lumia 640手机,目的主要就是为了测试年中开发完成的响应式移动web项目,同时也为了将来升级win10 mobile系统.由于我们的项目目前只考虑支持IOS与Android系统, ...

  8. android studio 使用adb命令传递文件到android设备

    一:文件传输 在android开发中,有时候需要将文件从pc端传递至android,或者将软件运行的日志,从android设备传递到pc进行分析,我们可以使用windows的cmd窗口,或者andro ...

  9. 利用grep-console插件使Intellij idea显示多颜色调试日志

    由于Intellij idea不支持显示ascii颜色,grep-console插件能很好的解决这个问题,下面就以开发JavaEE项目中,结合Log4j配置多颜色日志输出功能. 安装grep-cons ...

  10. C# 委托详解(一)

    1.委托简单例子 class eeProgram { // 声明delegate对象 public delegate string CompareDelegate(int a, int b); // ...