您现在的位置:网站首页 > 资讯中心 > 技术文章
RAD Studio 12.3 特性
发布日期:2025-04-01来源: 返回列表 >>

RAD Studio 12.3 特性 


RAD Studio 12.3现已推出!

Embarcadero宣布RAD Studio 12.3正式发布,其中包括Delphi 12.3和C++Builder 12.3。

RAD Studio 12.3引入了64位IDE的初始版本,增强了对AI驱动编码的支持,改进了用于web开发的Webstencils模板库,并更新了数据库驱动程序。


RAD STUDIO 12.3的新特性 


C++Builder现代化                                           仅限C++Builder

在RAD Studio 12.1中发布了新的基于Clang的Win64 C++编译器,并在12.2中进行了重大改进(包括运行时包的消费和生产;CMake支持;以及并行化的CPU饱和批处理编译,提供了令人难以置信的编译性能)之后,新版本提供了额外的质量改进和一些增强,包括对AVX2的现代指令集的官方支持,甚至更好的编译器性能。通过此版本,我们还通过集成Clang “sanitizers”,特别是Address sanitizers和Undefined Behavior sanitizers,帮助开发人员提高C++代码的安全性和质量,这有助于发现C++代码中的问题。这些对于安全的C++非常有用。


安卓平台API 35级                                           仅限Delphi

RAD Studio 12.3版将更新Delphi的Android目标平台 API到35级,这是Google Play Store到2025年8月对应用程序的要求。虽然主要目标是针对新的API级别,但这些更改包括多种技术,包括新的NDK目标、支持16KB的页面大小、新的配置选项和权限。总体而言,这些改进使Delphi开发人员能够继续针对最新版本的Android操作系统构建最先进的Android应用程序。


智能代码洞察改进                                            RAD Studio

为了帮助我们的客户利用AI LLMs进行编码,RAD Studio 12.2引入了AI插件的开放式架构,为三个在线解决方案(OpenAI、谷歌的Gemini和Anthropic的Claude)和一个离线解决方案(Ollama)提供即用型支持。这种架构提供了多个目标:一切都是可选的,默认情况下都是禁用的;我们提供多个提供商,让您选择要启用的一个或多个提供商;我们提供了一个本地安装的离线解决方案,以最大限度地保护隐私。


RAD Studio 12.3进一步改进了Smart CodeInsight,为UI添加了一些值得注意的扩展,重点是增强聊天体验,与AI相关的编辑器命令更加集成。在12.3中,聊天窗口现在支持格式化,提供格式正确、可读性更高的输出,并允许使用特殊的文本内命令或其他按钮读取编辑器内容。同时,编辑器中发出的命令提供了将结果发送到支持格式化的聊天窗口而不是编辑器本身的选项,从而提供了更好的响应格式。此外,Smart CodeInsight配置对话框提供了从AI引擎检索到的可用模型列表,并且有一个基于AI的新的查找单元/查找头文件的命令。


64位IDE“初始版本”                                      RAD Studio

RAD Studio 12.3引入了64位IDE的初始版本。虽然此初始版本在可用功能方面有限,仅支持64位Windows目标平台,但它是该产品的一个非常重要的里程碑。64位IDE为IDE本身提供了几乎无限的内存空间,包括在编辑器中安装的组件和打开的设计器,以及在构建非常大的项目时为集成编译器提供的内存空间。此外,64位IDE允许在设计时访问仅提供64位客户端驱动程序的数据库。最后,我们正在为64位IDE构建一个基于LLDB的新的本地Delphi调试器,随着时间的推移,它将提供比目前从32位IDE远程调试64位应用程序更好的功能。


64位IDE的初始版本与32位IDE同时安装,后者仍然是默认版本。开发人员可以同时使用其中之一或两者。


作为初始版本,IDE的64位版本与IDE的32位版本功能尚不匹配。绝大多数功能都存在,它可以用作Win64开发的“日常驱动程序”,包括VCL和FMX的设计、编码和调试,包括数据库支持。然而,在最初的版本中,开发人员可以针对Win64,但不能针对其他平台(32位IDE当然继续支持所有平台);Visual Assist for C++不存在;尚不支持类型库支持(即ActiveX和COM库);不支持Delphi重构和度量分析。


另外,RAD Studio 12.3在专业版中还包括Delphi Win32和Win64编译器的64位二进制版本,提供了从32位IDE将超大型应用程序构建为单个可执行文件的能力。它们在12.2中仅在Enterprise和Architects版本中引入,但现在可以在所有付费版本中使用。





RAD STUDIO 12.3的质量改进

 

FireDAC和数据库                                        RAD Studio

在FireDAC和数据库访问方面,12.3版本改进了从TFDTable组件过滤SQL查询的功能,并支持使用Refind实用程序从IBX迁移到FireDAC。它还为64位IDE中的64位驱动程序访问添加了特定的支持。在特定的数据库驱动程序方面,RAD Studio现在正式支持:

 

Microsoft SQL Server 2022(以及对MSSQL中具有多个TVP参数的序列和存储过程的支持)

MongoDB 8.0之前的版本(还为MongoDB Atlas提供了新的连接参数)

MySQL 8.4

Oracle DRCP(数据库驻留连接池)

 

WebStencils改进                                         RAD Studio

RAD Studio 12.2版引入了WebStencils,这是一种基于服务器端脚本的HTML文件集成和处理到WebBroker和RAD Server的技术。这个灵活的功能使您能够基于任何JavaScript库开发现代网站,数据的提取和处理由强大的RAD Studio服务器端应用程序提供支持。

 

WebStencils的主要目标是帮助基于RAD Studio网络技术(WebBroker、DataSnap、RAD Server)的导航网站,并提供服务器端脚本:您可以使用WebStencil生成采用任何CSS和JavaScript库的HTML页面,同时使用Delphi或C++Builder保留页面中的实际数据(如数据库查询的结果)。此外,WebStencils可以作为HTMX作为web开发解决方案的良好基础。

 

在RAD Studio 12.3中,WebStencils得到了扩展,可以访问嵌套数据集中的嵌套对象和子表,当与WebStencil指令无关时,可以更灵活地处理“@”符号,并改进了对UTF8字符的处理。

 

BLE和蓝牙                                           RAD Studio

在12.3版本中提高了我们在所有RAD Studio目标平台上的蓝牙和BLE支持质量。这些更改还包括一个新事件,称为BLE传输配置更改时的事件。

 

Delphi LSP                                          仅限Delphi

为CodeInsight提供支持的Delphi语言服务器协议引擎在质量和稳定性方面得到了进一步扩展,提高了编译器在解析LSP代码时的处理能力。此外,32位和64位IDE都可以为Windows目标使用64位版本的DelphiLSP引擎,这为大型代码库提供了更好的支持,没有内存限制。在12.3中,这个64位版本现在可以在所有付费版本中使用,包括专业版。

 

Delphi RTL、VCL和FireMonkey质量                    RAD Studio

RAD Studio 12.3对核心Delphi RTL(除了前面提到的蓝牙更改)以及VCL和FireMonkey UI库进行了数十项改进。

 

值得一提的是围绕VCL样式的VCL质量工作、VCL控件中的高DPI和其他通用UI质量改进,以及TImageCollection编辑器的增强。对于FireMonkey,此版本添加了一个从VCL样式生成FireMonkey样式的新工具、升级的Skia4Delphi版本、TMemo的其他改进、非Windows平台上的动态样式加载以及Windows上的Z-Order Manager特性。

 

在12.3版本中,我们继续为RAD Studio中包含的两个UI库提供显著的质量改进,解决客户报告问题,并主动重新设计核心和常用组件的内部实现,以提供更好的整体性能和稳定性。

 

RAD Server改进                                        RAD Studio

自12.2以来,RAD Server提供了WebStencils集成,将Web开发添加到RAD Server的Web服务开发功能中。此外,在12.3中,RAD Server改进了JSON响应中的日期和时间格式,包括一个在emsserver.ini中混淆MasterSecret和Appsecret值的选项,添加了实例范围自定义变量的概念和一个新的EndpointHide属性来隐藏端点。