个人中心

联系我们

搜索
搜索 登录 免费注册
界面美化
业务优化
开发工具
图像管理
文档管理
Parasoft

新闻资讯

关注工具软件产品最新动态,了解软件开发行业新趋势。

FastReport 不再支持旧版 Delphi

原创
软件开发
来源:FastReport
报表
图表
数据可视化
Delphi
VCL
2023-12-08
报表
图表
数据可视化
Delphi
VCL

我们的最新版本不再支持旧版本的 Delphi。我们将告诉您原因。



尽管我们从 1995 年就开始使用 Delphi,但它仍在不断发展,并且在程序员的工作中具有不可否认的优势。适用于 Delphi 的 FastReport 产品也没有停滞不前,我们努力在每个版本中为开发人员提供新的、更现代化的功能。重要更新:FastReport VCL 不再支持 Delphi 2010 以下版本。我们将解释原因。


您可能想知道:为什么要更新 Delphi,新版本的优势是什么?主要是许多新功能提高了高端应用程序的开发效率。在本文中,我们将尝试谈谈 Delphi 自第 7 版以来的主要变化,并回答有关 Delphi 旧版本支持终止的问题。


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

• Borland Delphi 7

• Borland Delphi 8

• Borland Delphi 2005

• Borland Delphi 2006

• CodeGear Delphi 2007

• Delphi 2009


仅从 Delphi 2010 开始才保证支持 FastReport VCL 2023.2。



2.为什么我们要淘汰 Delphi 2010 以下的旧版本?

报告生成器 VCL 开发的一个重要阶段是结束对过时的非 Unicode 版本的支持。这将有助于我们更深入地改进 FastReport,并在每个版本中引入更多现代功能。自 2023.1 版发布以来,FastReport VCL 支持从 2010 年开始的 Delphi 版本。


有几个因素影响了这一决定:


• 旧版本缺乏本地 Unicode 支持,这对本地化以及处理字符串和文本造成了各种限制;

• 需要支持大量在使用新 Delphi 版本时变得不必要的函数;

• 没有泛型和匿名方法,这就需要额外的人力成本来支持那些可以在标准集成开发环境模块中更容易实现的功能;

• 无法使用新的 VCL 组件,独立实现这些组件会增加开发时间。这些组件的性能管理也需要资源;


3.转向 2010 以上版本的 Delphi 有什么优势?

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


在 Delphi 中,编译器允许存储过程和函数具有内联指令,从而提高性能。当存储过程或函数满足特定条件时,编译器会在调用的准确位置插入代码,而不是生成常规调用。内联方法可以优化性能,生成运行速度更快的代码,但代价是增加代码量。在这种情况下,编译器生成的二进制文件会更大。内联指令和其他指令一样,用于声明和定义函数和过程。


快速代码重构


代码重构是在不改变现有代码功能的情况下对其进行重组和修改。重构可以加快、简化和提高应用程序代码的性能和可读性。


Delphi 中的重构服务可分析和执行代码重新分配操作。该服务还能在代码编辑器底部的预览模式和重构面板中显示更改。重构候选项以树形节点的形式显示,您可以打开树形节点查看其他要重构的项目。警告和错误也会显示在该面板上。您可以通过上下文菜单和主菜单访问重构服务。


单元测试


Delphi 的新版本包含用于创建和运行自动测试的开源 DUnit 测试框架。该框架有助于为应用程序类和方法创建测试。当与重构一起使用时,这一功能可以提高应用程序的稳定性。


在项目源代码发生变化时及时启动测试,可以在早期开发阶段发现并修复错误。


在语言、库和开发环境层面对 Unicode 的端到端支持


Unicode 是一种标准,可让您获得计算机表示法,并与任何书写系统配合使用。


- 统一码标准:5.0 版。5. ed. Addison-Wesley Professional, 2006.1472p


不同语言的大量字符集(如亚洲变体)都可以使用统一码来表示。最常见的编码是 UTF(统一字符编码转换格式)和 UCS(通用字符集)。有关统一码的更多信息,请参见:http://en.wikipedia.org/wiki/Unicode。


Delphi 新版本的一个重要变化是字符串类型现在基于 UNICODE。考虑到字符串的字节大小,基于 ANSI 标准及更高标准的 AnsiString 和 WideString 等数据类型仍然可行。


支持 Unicode 的更改列表:


• 字符串现在表示 UnicodeString,而不是 AnsiString

• Char 现在表示 WideChar(2 字节,而不是 1 字节),这是一个 UTF-16 字符

• PChar 表示 PWideChar

• AnsiString 表示 "旧 "字符串类型


不变:


• AnsiString

• 宽字符串

• AnsiChar, PAnsiChar

• 短字符串包含 AnsiChar 元素

• 隐式转换继续有效


活动代码页控制模式(ANSI 或 Unicode),ANSI 字符串仍受支持。


不依赖字符大小的操作:


• 字符串连接

• 处理字符串的标准函数。例如,Length、Copy、Pos 等。

• 操作符。例如,<string> <comparison> <string>、CompareStr()、CompareText() 等。

• FillChar(<struct 或 memory>)

• Windows API


许多公司分发应用程序和/或与各国交换信息时,Unicode 支持至关重要。


泛型


"泛型 "是泛型类型的术语。它指的是在某些容器类型(如数组或集合)中使用预定义数据类型的语言语法。通过泛型,您可以编写使用特定数据类型(即类或类方法)的泛型代码。您还可以在运行时指定类型。


Delphi 2009 引入了对泛型的支持。


Delphi RTL 包含集合的开箱即用实现(定义在 "Generics.Collections "模块中):


• TList

• TQueue

• TStack

• TDictionary

• 对象列表

• 对象队列

• 对象字典

• TT 线程队列


匿名方法


匿名方法是没有名称的存储过程或函数。匿名方法是代码的一部分,可以与变量相关联或用作其他方法的参数。此外,匿名方法还可以在其定义的上下文中使用变量。声明和使用匿名方法不需要复杂的语法。其语法类似于其他编程语言中的闭包。


新的 VCL 组件(自定义提示、功能区控件等)


支持 Direct-2D


Direct2D API--旨在与 GDI、GDI+ 和 Direct3D 交互的程序界面。Direct2D 将所有绘图操作重定向到 GPU(图形处理单元),而不是 CPU。它为应用程序提供了更多资源。从 Microsoft Windows 7 开始,添加了使用 Direct2D 的功能:用于硬件加速 2D 图形输出的 API,可提高显示 2D 对象、位图和文本的性能。


新版本的 Delphi 在集成开发环境级别支持 Direct2D。


IDE 洞察、源代码格式化、搜索任务栏


新增了 IDE Insight 服务,允许您输入名称并从合适的选项列表中选择项目选项和开发人员偏好。IDE Insight 输入字段包括命令、文件、组件和项目等多个类别的选项。


Delphi 环境默认根据模板提供代码格式。


此外,集成开发环境现在还提供完全可定制的代码格式化服务,启用 CTRL+D 即可激活。它可确保模块按照预定义设置进行格式化。此外,您还可以使用项目管理器对项目中包含的所有模块进行格式化。


后台编译


在 Delphi 2010 中,编译可以在后台进行。因此,您可以在单独或并行线程中运行编译过程,并在编译项目时继续在集成开发环境中工作。例如,在编译期间,您可以编辑文件,设置或更改断点。


扩展 RTTI


运行时类型标识(RTTI)提供了有关对象的信息,允许它们在应用程序中进行交互。在使用对象检查器、代码编辑器和建模工具时,Delphi IDE 是另一个很好的 RTTI 用例。


其他编程语言的发展改变了我们的编程方式,Java 和 .NET 应用程序完美地展示了这些创新,因为现代编程语言提供了新层次的动态交互。Delphi 2010 借助 Delphi 对 Win32 的广泛 RTTI 支持,现在具备了 .NET 和 Java 的所有功能。新的 RTTI 系统 (RTTI.pas) 完全面向对象,允许您创建和实现对象之间更多的动态交互。


操作符重载


在新版 Delphi 中,您可以在记录中重载某些函数或 "操作符"。操作符函数的名称与源代码中的符号表示法相对应。


类助手


辅助类 "是一种通过与其他类关联来引入附加方法和属性的类。这些方法和属性可在关联(或派生)类的上下文中使用。类助手是在不继承类的情况下扩展类的一种方法。只有在编译器最终确定标识符名称时,"帮助 "类才会引入额外的作用域。


严格私有和严格受保护


较新版本的 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.如果用户想要在 Delphi 7-2009 中使用 FastReport VCL,应该怎么做?如果可以下载,在哪里以及如何下载)?

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


5.带有 Delphi 7-2009 的 FastReport VCL 的技术支持是什么(是不可用,还是付费,是否有过渡期)?

由于我们不再保证 Delphi 2010 以下 IDE 版本的功能,因此我们停止对这些版本相关问题的技术支持。


在开发人员提出要求的情况下,可自行决定修复导致支持 Delphi 7-2009 的 FastReport VCL 完全失效的关键错误。


拒绝接受过时的 Delphi 7-Delphi 2009 版本将使我们能够重新分配开发团队的资源,以进行更有效的开发,减少实现新功能的时间,并将更多的时间用于查找 FastReport VCL 中的故障,从而使软件产品的工作更加稳定。我们的目标是为所有开发人员创建一个功能强大的快速报表生成器,我们相信这一步将使我们的产品更加完善。


联系我们

周一至周日 8:00-23:00

免费热线

023-62585653

张经理:13082556879

罗经理:17558866126

许经理:13057566525

开发外包

ERP-一体化

小程序

企业微信客服

版权所有:重庆庚乾信息科技有限公司 ©2025 Gengqian Information Technology Co., Ltd. 渝ICP备2022008063号-2 渝公网安备50010702505508

版权所有:重庆庚乾信息科技有限公司

©2025 Gengqian Information Technology Co., Ltd. 渝ICP备2022008063号-2 渝公网安备50010702505508