重要通知!报表控件FastReport VCL将停止支持旧的 Delphi 版本

news2024/12/23 13:59:41

FastReport 是功能齐全的报表控件,可以帮助开发者可以快速并高效地为.NET,VCL,COM,ActiveX应用程序添加报表支持,由于其独特的编程原则,现在已经成为了Delphi平台最优秀的报表控件,支持将编程开发中的报表信息输出为TXT、PDF等多种文件格式,是编程开发人员必备的报表工具。 

FastReport VCL 是一个附加组件,用于快速有效地生成报表。FastReport提供了开发报表所需的所有工具,包括可视报表设计器、报表core和预览窗口。

FastReport VCL下载试用(群号:585577353 

重要更新:报表控件FastReport VCL 不再支持低于 2010 的 Delphi 版本,主要有以下原因。

尽管我们从 1995 年就开始使用 Delphi,但它在不断发展,并且在程序员的工作中具有不可否认的优势。Delphi 的 FastReport 产品也不会停滞不前,我们尝试在每个版本中为开发人员提供新的和更现代的功能。您可能想知道:为什么要更新 Delphi,新版本的优势是什么?其实主要是许多提高高端应用程序开发生产力的新功能。在本文中,我们将展示Delphi 自版本 7 以来的主要变化,并回答有关 Delphi 旧版本支持终止的问题。

1.FastReport VCL产品不再支持哪些版本? 

  • Borland Delphi 7
  • Borland Delphi 8
  • Borland Delphi 2005
  • Borland Delphi 2006
  • CodeGear Delphi 2007
  • Delphi 2009

对FastReport VCL 2023.2的保证支持仅从Delphi 2010开始提供。

 2.为什么我们要弃用 2010 以下的旧版本的 Delphi,这种弃用对开发的阻碍是什么?

报告生成器的 VCL 开发的一个重要阶段是结束对过时的非 Unicode 版本的支持。它将帮助我们更加集中地改进 FastReport,并在每个版本中引入更多现代功能。自 2023.1 发布以来,FastReport VCL 支持从 2010 开始的 Delphi 版本。
几个因素影响了这个决定:

  • 旧版本中缺乏原生 Unicode 支持,这对本地化以及使用字符串和文本施加了各种限制;
  • 需要支持许多在使用新的 Delphi 版本时变得不必要的功能;
  • 没有泛型和匿名方法,这会增加人力资源的成本来支持可以在标准 IDE 模块上更容易实现的功能;
  • 不可能使用新的 VCL 组件,其独立实现会增加开发时间。其绩效管理也需要资源;

3.迁移到2010以上版本的Delphi有什么好处,我们可以使用哪些技术?

多个模块的命名空间、for...in...do 循环、函数的内联指令以及其他代码优化

在 Delphi 中,编译器允许过程和函数具有内联指令,从而提高性能。当过程或函数满足特定条件时,编译器会在调用的确切位置插入代码,而不是生成常规调用。内联方法可以优化性能并生成运行速度更快但代价是增加代码大小的代码。在这种情况下,编译器生成的二进制文件会更大。与其他指令一样,内联指令用于声明和定义函数和过程。
快速代码重构 
代码重构是在不改变其功能的情况下重构和修改现有代码。重构可以加速、简化和提高应用程序代码的性能和可读性。
Delphi 中的重构服务分析并执行代码重新分发操作。该服务还在预览模式和代码编辑器底部的重构面板中显示更改。重构候选项显示为树节点,您可以打开这些节点以查看要重构的其他项目。警告和错误也显示在此面板上。您可以通过上下文和主菜单访问重构服务。
单元测试 
新版本的 Delphi 包括用于创建和运行自动化测试的开源 DUnit 测试框架。该框架有助于为应用程序类和方法创建测试。与重构一起使用时,此功能可以提高应用程序的稳定性。
由于项目源代码更改时及时启动测试,您可以在早期开发阶段发现并修复错误。
在语言、库和开发环境级别对 Unicode 的端到端支持
Unicode 是一种标准,允许您获得计算机表示并使用任何书写系统。
- Unicode 标准:5.0 版。5. 编辑。Addison-Wesley Professional, 2006. 1472p
可以使用 Unicode 表示不同语言的大量字符集,例如亚洲变体。最常见的编码是 UTF(Unicode 转换格式)和 UCS(通用字符集)。
新版 Delphi 的重要变化之一是字符串类型现在基于 UNICODE。鉴于字符串的大小(以字节为单位),基于 ANSI 标准及更高版本的AnsiString 和 WideString 等数据类型仍然可用。
Unicode 支持的更改列表:

  • 字符串现在表示 UnicodeString,而不是 AnsiString
  • Char 现在表示 WideChar(2 个字节,而不是 1 个字节),这是一个 UTF-16 字符
  • PChar 表示 PWideChar
  • AnsiString 代表“旧”字符串类型

未改变:

  • 字符串
  • 宽字符串
  • AnsiChar, PAnsiChar
  • 短字符串包含 AnsiChar 元素
  • 隐式转换继续工作

活动代码页控制模式(ANSI 或 Unicode),并且仍然支持 ANSI 字符串。
不依赖于字符大小的操作:

  • 字符串连接
  • 处理字符串的标准函数。例如,长度、副本、位置等。
  • 运营商。例如,<string> <comparison> <string>、CompareStr()、CompareText() 等。
  • FillChar(<结构或内存>)
  • 窗口应用程序接口

许多公司分发他们的应用程序和/或与 Unicode 支持至关重要的国家/地区交换信息。
泛型
“通用”是通用类型的术语。它是指使用语言语法在某些容器类型(例如数组或集合)中预定义数据类型。泛型允许您编写适用于特定数据类型(即类或类方法)的通用代码。您还可以在运行时指定类型。
自 Delphi 2009 以来引入了对泛型的支持。
Delphi RTL 包括开箱即用的集合实现(在“Generics.Collections”模块中定义):

  • 清单
  • 队列
  • 堆栈
  • T词典
  • 对象列表
  • 对象队列
  • TObject字典
  • 线程队列

匿名方法
匿名方法是没有关联名称的过程或函数。匿名方法是代码的一部分,可以与变量关联或用作其他方法的参数。此外,匿名方法可以在定义它们的上下文中使用变量。声明和使用匿名方法不需要复杂的语法。语法类似于其他编程语言中的闭包。
新的 VCL 组件(自定义提示、功能区控件等)
直接二维支持 
Direct2D API——设计用于与 GDI、GDI+ 和 Direct3D 交互的程序接口。Direct2D 将所有绘图操作重定向到 GPU(图形处理单元)而不是 CPU。它为应用程序提供了更多资源。从 Microsoft Windows 7 开始,添加了使用 Direct2D 的功能:用于硬件加速 2D 图形输出的 API,允许在显示 2D 对象、位图和文本时提高性能。
新版本的 Delphi 在 IDE 级别支持 Direct2D。
IDE Insight、源代码格式化程序、搜索任务栏
添加了新的 IDE Insight 服务,允许您输入名称并从合适的选项列表中选择项目选项和开发人员首选项。IDE Insight 输入字段包括命令、文件、组件和项目等多个类别的选项。
Delphi 环境默认根据模板提供代码格式化。
此外,IDE 现在提供可通过启用 CTRL+D 激活的完全可定制的代码格式化服务。它确保模块根据预定义的设置进行格式化。此外,您可以使用项目管理器格式化项目中包含的所有模块。
后台编译 
在Delphi 2010中,可以在后台进行编译。因此,您可以在单独或并行线程中运行编译过程,并在编译项目时继续在 IDE 中工作。例如,在编译期间,您可以编辑文件并设置或更改断点。
扩展RTTI
运行时类型识别 (RTTI) 提供有关对象的信息,允许它们在应用程序内进行交互。在使用对象检查器、代码编辑器和建模工具时,Delphi IDE 是另一个很好的 RTTI 用例。
其他编程语言的发展改变了我们的编程方式,而 Java 和 .NET 应用程序完美地展示了这些创新,因为现代编程语言提供了新级别的动态交互。由于 Delphi 对 Win32 的广泛 RTTI 支持,Delphi 2010 现在拥有 .NET 和 Java 的所有功能。新的 RTTI 系统 (RTTI.pas) 是完全面向对象的,允许您在对象之间创建和实现更多的动态交互。
运算符重载
在新版本的 Delphi 中,您可以重载记录中的某些函数或“运算符”。操作数函数的名称对应于源代码中的符号表示。
班级助手
“助手”是一种类,它通过将附加方法和属性与另一个类相关联来引入它们。这些方法和属性可以在关联(或派生)类的上下文中使用。类助手是一种在不继承类的情况下扩展类的方法。只有当编译器最终确定标识符名称时,“helper”类才会引入额外的作用域。
严格私有和严格保护
较新版本的 Delphi 有两个选项可以控制类属性的可见性:strict private 和 strict protected。
严格私有:类属性仅在声明它们的类中可见。这些属性对于在同一模块中声明的方法或那些不属于该类的方法是不可见的。
严格保护:指定后代可以访问类属性。
线程中的断点,“冻结/解冻”线程
新的内存管理器和新的 RTL 特性

改进了一些 RTL 功能以提高性能。用于 Win32 应用程序的新 FASTMM 内存管理器允许 Delphi 2006 应用程序更好地执行并通过在代码中的任何位置声明 ReportMemoryLikeonShudown := True 来检测内存泄漏。从 Delphi 2006 开始,除了检测内存泄漏外,应用程序的速度也有了显着提高。
文件和目录中面向对象 I/O 的类
从 Delphi 2010 开始,添加了一个新的 IOUtils 模块,其中包括三个静态类:TDirectory、TPath 和 TFile。反过来,这些类公开了几个对 I/O 任务有用的静态方法。大多数方法的功能和签名都与 .NET System.IO.Directory、System.IO.Path 和 System.IO.File 类兼容。

4.如果用户想要 FastReport VCL with Delphi 7-2009,应该怎么办?

您可以根据技术支持请求获得最新版本的 FastReport VCL,支持 Delphi 7-2009。

5.FastReport VCL with Delphi 7-2009 的技术支持是什么? 

由于我们不能保证低于 Delphi 2010 的 IDE 版本的功能,因此我们停止对与这些版本相关的问题提供技术支持。
开发人员可以根据要求修复导致支持 Delphi 7-2009 的 FastReport VCL 完全失败的严重错误。
拒绝Delphi 7-Delphi 2009的过时版本将使我们能够重新分配开发团队的资源以提高开发效率,减少实现新功能的时间并投入更多时间在FastReport VCL中查找错误,这反过来又会导致软件产品工作更稳定。其目标是为所有开发人员创建一个功能强大且快速的报告生成器,这一步将使产品变得更好。

慧都科技是FastReport在中国区的代理商,提供正版试用、正版销售、中文技术资源,若您有图报表开发相关需求,欢迎咨询我们。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/448652.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

视频批量剪辑:如何给视频添加上下黑边并压缩视频容量。

视频太多了&#xff0c;要如何进行给视频添加上下黑边并压缩视频容量&#xff1f;今天就由小编来教教大家要如何进行操作&#xff0c;感兴趣的小伙伴们可以来看看。 首先&#xff0c;我们要进入视频剪辑高手主页面&#xff0c;并在上方板块栏里选择“批量剪辑视频”板块&#…

PX4无人机调参

文章目录 前言一、滤波参数二、PID参数自动调参手动调参角速率环姿态环 前言 PX4 1.13.2 日志分析软件&#xff1a;flight review https://logs.px4.io/ 一、滤波参数 调参时可以用自稳模式飞行 在调滤波器参数之前&#xff0c;可以先大致调一下PID的参数&#xff0c;角度率…

4-log打印

1.相关文件 2.示例 #include <stdbool.h> #include <stdint.h> #include <stdio.h> #include "nrf.h" #include "nrf_delay.h" #include "app_error.h" #include "nrf_log.h" #include "nrf_log_ctrl.h" …

WPF教程(九)--数据绑定(2)--绑定模式

一、绑定模式 绑定模式以及模式的使用效果。 示例如下是根据ListBox中的选中项&#xff0c;去改变TextBlock的背景色。将 TextBlock 的背景色绑定到在 ListBox 中选择的颜色。在下面的代码中针对TextBlock的 Background 属性使用绑定语法绑定从 ListBox 中选择的值。代码如下。…

typeScript的安装及基础使用示例

4.1.安装typescript npm 包&#xff1a; npm install -g typescript 2.查看安装好的版本检验&#xff1a; tsc -v 3.编译一个typescript 文件&#xff1a;tsc hello.ts 4.运行一个ts文件&#xff1a; 首先安装ts-node &#xff0c;ts-node需要在全局去安装。这里要用 npm…

【LeetCode】剑指 Offer 64. 求1+2+…+n p307 -- Java Version

题目链接&#xff1a;https://leetcode.cn/problems/qiu-12n-lcof/ 1. 题目介绍&#xff08;64. 求12…n&#xff09; 求 12...n &#xff0c;要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句&#xff08;A?B:C&#xff09;。 【测试用例】&a…

android aidl

本文只是记录个人学习aidl的实现&#xff0c;如需学习请参考下面两篇教程 官方文档介绍Android 接口定义语言 (AIDL) | Android 开发者 | Android Developers 本文参考文档Android进阶——AIDL详解_android aidl_Yawn__的博客-CSDN博客 AIDL定义&#xff1a;Android 接口…

实验五 视图与完整性约束

实验五 视图与完整性约束 目录 实验五 视图与完整性约束选择题sql评测题1、SQl视图&#xff1a;建立视图CJ\_STUDENT题目代码题解 2、SQL视图&#xff1a;建立视图AVG\_CJ题目代码 3、SQL视图&#xff1a;建立视图IS\_STUDENT题目代码题解 4、SQL视图&#xff1a;根据视图CJ\_S…

pcle接口详解用途说明

PCIE (peripheral component interconnect express) 中文名&#xff1a;高速串行计算机扩展总线标准&#xff0c;它原来的名称为“3GIO”&#xff0c;由英特尔在2001年提出。 PCIE 有 12345代 和x1/x4/x8/x16插槽 1、PCIE x1/x4/x8/x16插槽模式&#xff0c;的区别和用处 pcel …

ChatGPT 下我的焦虑

鉴于一些读者还未体验过&#xff0c;可以看一下以下 GitHub 项目&#xff0c;收集了几千个封装的 ChatGPT 网站&#xff1a; https://github.com/weekend-project-space/chatgpt-sites 在 ChatGPT 刚出的时候&#xff0c;我对 AI 不屑一顾&#xff0c;大概源自于好几年前人工智…

微服务之异步消息通信

Informal Essay By English I’m sorry that I haven’t updated the article lately because the blogger has been busy with interviews and summarizing their experience. I will create a special article to describe the recent events. Next, let’s get to the topi…

FRP 内网穿透,绕过防火墙控制内网机器

内网穿透&#xff0c;端口映射技术是一门十分古老的技术&#xff0c;他一直是一把双刃剑&#xff0c;可以绕过防火墙入侵目标服务器&#xff0c;也可以方便我们运维&#xff0c;工作。 早年的lcx 或者portmap都是比较老的工具了&#xff0c;frp这个工具比之前的lcx或者portmap都…

element-china-area-data 中国省市区级联选择器

1.安装 npm install element-china-area-data -S 2. 说明 文档&#xff1a;element-china-area-data - npm provinceAndCityData是省市二级联动数据&#xff08;不带“全部”选项&#xff09; regionData是省市区三级联动数据&#xff08;不带“全部”选项&#xff09; prov…

车载操作系统架构研究报告

目 录 前 言 ............................................... 1 1 术语定义及缩略语 ................................................................ 3 1.1 术语与定义 ................................................................. 3 1.2 缩略语 ..............…

[读书笔记] Variational AutoEncoders

小全读书笔记 《Variational AutoEncoders》 1. Generative Model &#xff08;生成式模型&#xff09;简述2. 简单生成模型 AutoEncoders![AutoEncoder结构图](https://img-blog.csdnimg.cn/46c5dcf47e754bf7b71d973a15507e0e.png#pic_center)2.1 结构2.2 不足 3. Variational…

【Vue已解决】阻止Vue在启动时生成生产提示

介绍 这里是小编成长之路的历程&#xff0c;也是小编的学习之路。希望和各位大佬们一起成长&#xff01; 以下为小编最喜欢的两句话&#xff1a; 要有最朴素的生活和最遥远的梦想&#xff0c;即使明天天寒地冻&#xff0c;山高水远&#xff0c;路远马亡。 一个人为什么要努力&a…

3 redis线程IO模型

1 IO模型 1.1 IO IO (Input/Output&#xff0c;输入/输出)即数据的读取&#xff08;接收&#xff09;或写入&#xff08;发送&#xff09;操作&#xff0c;通常用户进程中的一个完整IO分为两阶段&#xff1a;用户进程空间<–>内核空间、内核空间<–>设备空间&…

常用脚本记录

文章目录 1. shell脚本1.1 backup.sh // 目录备份&#xff08;数据备份&#xff09;1.2 check_ip.sh // 检查ip1.3 FlotMonitor.sh // 流量监控1.4 ssh_NoPasswd.sh // 集群免密 2. python脚本2.1 游戏脚本2.1.1 saolei.py // 扫雷(python3)2.1.2 Guessnum.py // 猜数字(python…

Centos7 部署单机 Minio 对象存储服务

MinIO 是一款基于 Go 语言发开的高性能、分布式的对象存储系统&#xff0c;客户端支持 Java&#xff0c;Net&#xff0c;Python&#xff0c;Javacript&#xff0c;Golang语言。 MinIO 的主要目标是作为私有云对象存储的标准方案&#xff0c;非常适合于存储大容量非结构化的数据…

基于AT89C51单片机的简易计算机设计

点击链接获取Keil源码与Project Backups仿真图&#xff1a; https://download.csdn.net/download/qq_64505944/87715642?spm1001.2014.3001.5503 源码获取 主要内容&#xff1a; 本设计是以单片机AT89C51为核心的简易计算器设计&#xff0c;要通过芯片AT89C51实现计算器程序…