当前位置: 首页 > news >正文

美国Embarcadero公司正式发布2023 RAD Studio Delphi C++ Builder 12 Athens

05 rad studio 已更新 02 1920x1080 博客

Embarcadero 非常高兴地宣布发布 RAD Studio 12 Athens 以及 Delphi 12 和 C++Builder 12。RAD Studio 12 Athens 版本包含令人兴奋的新功能,为该产品的未来奠定了基础。

目录

  • 主要新功能 
  • C++ 的奇妙之处
  • Delphi 的一些不错的补充
  • FireMonkey 和 Skia 作为新基金会
  • 采用 MDI 和选项卡式 UI 架构的 VCL 现代化
  • Delphi RTL、数据和其他领域的新功能
  • RAD Studio IDE 改进
  • RAD 服务器和 InterBase
  • 质量,质量,质量
  • 准备好出发

主要新功能 

这是 RAD Studio 12 中引入的关键功能的摘要。以下部分提供了更多详细信息,但最好从摘要开始:

  • Visual Assist 集成在 C++Builder 的 IDE 中,为 C++ 语言提供一流的代码完成、代码导航和重命名重构
  • 针对 Win64 的基于 CLANG 的 C++ 编译器的显着更新预览,支持最新的 C++ 标准语言功能,并提供与外部库和 C++ 代码的更好集成
  • Delphi 语言添加内容,包括多行字符串文字,以满足一些相关的客户请求
  • FireMonkey 中的 Skia 支持,通过采用 FireMonkey 的新基础,在所有目标平台上渲染图形和 UI 控件时提供更高的性能和质量
  • 重新设计的 MDI 和新的 VCL 选项卡式 UI 架构可帮助我们的客户实现现有应用程序的现代化,以最少的努力为现有程序添加对 HighDPI 和样式的支持
  • 新的 FireDAC 示例查询 (QBE) 组件可简化数据过滤,新的 Delphi JSON 向导可将流行 JSON 格式的数据映射添加到对象,就像我们对 XML 所做的那样
  • 许多 IDE 生产力和质量改进,使 RAD Studio 能够更轻松、更快速地执行日常任务
  • 支持 RAD Server 中的智能 ID,使客户托管的 REST API 更加强大和灵活,同时保持 RAD Server 的易用性

溅12

C++ 的奇妙之处

此版本的一个重要重点是 C++Builder 和我们的 C++ 工具链(也可在 RAD Studio 中使用)。该团队一直专注于两项关键的 C++ 改进:现代化我们的 C++ 编译器和工具链,通过代码完成提供惊人的生产力,以及通过集成 Visual Assist 添加重构和导航。

C++ 工具链升级是对我们 C++ 支持的一次惊人的改革。它不仅包括新版本的 Clang,还包括 C 和 C++ 运行时库以及 STL(C++ 标准模板库)以及链接器和调试器。这项巨大努力的目标是提供现代 C++ 标准,能够运行您在最近的库和项目中找到的 C++ 代码,轻松使用第三方库,利用现代安全编码标准,拥有更高性能的应用程序和出色的调试。它还旨在直接改进链接和 STL 等领域,并转向 Windows 平台标准,例如使用 COFF 和 PDB 对象和调试格式,从而可能允许您与其他工具更广泛的兼容性。您可以在此预览博客文章中阅读有关此功能的更多信息:  [Yukon Beta Blog]: Win64 Clang Toolchains in RAD Studio 12

在 12.0 中,我们发布了这个新 C++ 工具链的预览版,可作为命令行编译器使用。我们将继续致力于这个新的 C++ 工具链的 IDE 集成,与现有的 C++ 编译器并行,以及与 RAD Studio 中的 Delphi 库的集成,包括 VCL 和 FireMonkey UX 库。我们计划在这些更新可用时向订阅的客户提供这些更新。 

C++Builder 12.0 中的另一项重大创新来自于 Visual Assist 技术的集成,以提供更好的代码洞察力,包括代码完成、代码导航和重构。这些是帮助完成常见开发任务的关键生产力工具,从编码时经常调用的代码完成,到允许开发人员轻松找到代码的相关部分而不是手动搜索代码库的导航,再到帮助代码组织和安全的重构。我们将在 RAD Studio 中提供 VA 功能的重要初始子集,包括查找符号和引用、显示项目大纲、从实现导航到声明并返回,以及重命名重构。您可以在https://blogs.embarcadero.com/yukon-beta-blog-c-and-visual-assist-in-rad-studio-12-0/ 阅读有关 C++Builder 中 VA 的这篇预告博客文章

第120章

Delphi 的一些不错的补充

在 Delphi 编译器方面,12.0 添加了一些小但很好的扩展,包括对长字符串文字、多行字符串文字的支持,受三引号限制,以允许更轻松地嵌入 SQL、HTML、JSON、XML 和类似的多行文本。应用程序源代码。您可以在此预览博客文章中阅读有关此功能的更多信息: https: //blogs.embarcadero.com/yukon-beta-blog-delphi-language-modernizing-string-literals/。Delphi 12 编译器还为 NativeInt 提供弱类型别名定义,以增强 Win32/Win64 兼容性、更好地支持 NaN 浮点数比较以及在所有平台上禁用浮点异常。

截图 2023年11月6日 10月36日 43 点

在平台支持方面,Delphi 12.0 提供了对 Android API 级别 33 的兼容性,这是 Google 对 Play 商店应用程序提交的要求。

FireMonkey 和 Skia 作为新基金会

就 UI 库而言,RAD Studio 12.0 对于 Delphi 和 C++Builder 而言最重要的一组改进来自 FireMonkey 中非常流行的跨平台渲染引擎 Skia 的集成。这是通过集成 Skia4Delphi 开源项目来完成的,同时还通过 Vulkan 支持、Skia 着色语言的效果和滤镜支持、WebP 编码器、打印机支持以及打印为 PDF 来扩展它。 

RAD Studio Skia 支持包括直接 API、特定 UI 控件(TSkAnimatedImage、TSkLabel、TSkPaintBox 和 TSkSvg)以及 FireMonkey UI 的自动映射通过 Skia 控制 UI 渲染。总的来说,Skia 提高了渲染质量和性能。请注意,VCL 窗口库中也提供了相同的 Skia UI 控件。

截图 2023 年 11 月 6 日 10 点 35 分 12 点

除了为库的未来提供新的坚实基础的 Skia 支持之外,我们还改进了 Android 支持,以匹配许多最新的平台增强功能,添加了分屏支持,以允许 FireMonkey 应用程序在并排窗格中工作iOS 和 Android,并广泛重新设计了单行 TEdit 和多行 TMemo 控件的文本输入功能。 

对于 FireMonkey 开发,IDE 的另一个重大改进是引入了一个向导,可以根据 Apple 和 Google 的要求,从单个 SVG 图像开始,在所有分辨率下生成图标和启动屏幕,并支持 Android 的自适应图标,例如您可以阅读 [Yukon Beta Blog] Multi Device Icon Generator

屏幕截图 2023 年 11 月 6 日 10 点 33 分 40 分

采用 MDI 和选项卡式 UI 架构的 VCL 现代化

我们一直在进行 VCL 现代化工作,以帮助我们的客户迁移他们现有的应用程序(通常非常大并且在他们的目标行业中已经成熟)。12.0 的重点是保持老式但仍然流行的 MDI(Windows 多文档界面)模型。在新版本中,客户将能够采用对 MDI 应用程序的完整 HighDPI 支持,并采用 VCL 样式。我们将允许我们的客户绕过由于 Microsoft 近年来一直忽视对 MDI 的支持而导致的平台问题。

截图 2023年11月6日 10月35日 37 点

此外,RAD Studio 12.0 引入了一种新的基于选项卡的 UI(如 Google Chrome 和许多其他流行应用程序中的 UI),作为从 MDI 的轻松迁移或全新的模型,并带有新的 TFormTabsBar 控件。VCL 库改进了高 DPI 屏幕的蒲团管理。

作为 VCL 改进的一部分,新版本引入了许多新设计器来帮助简化工作:有一个新的字符串列表编辑器、一个多行字符串编辑器以及按钮、单选按钮组和面板的快速配置对话框。其中一些方便的工具最初是 KSVC(Konopka Signature VCL Controls)的一部分,现在任何人都可以使用,甚至无需安装此附加控制包。

截图 2023年11月6日 10月34日 23 点

除了核心 RTL 定义之外,我们还创建了一组新单元,将完整的 Windows API 标头转换为 Object Pascal,以便 Delphi 开发人员更轻松地调用我们未在组件库中公开的任何 Windows 平台 API。该API转换包括311个Delphi头文件和41MB代码,涵盖了微软提供的整个平台API。

此外,我们还改进了 Edge 浏览器与新界面、属性和事件的集成,以匹配自上次发布以来对平台 WebView 2 控件的改进。VCL 的进一步改进包括极其灵活的 TControl 枚举器、桌面 Windows 管理器 (DWM) 增强以及对双缓冲模式的更改。

Delphi RTL、数据和其他领域的新功能

其他 Delphi 核心运行时库有许多改进,C++ Builder 也利用了这些改进。对于我们的旗舰数据库访问库 FireDAC,我们添加了对经典 QBE 模式(按示例查询)的支持,该模式允许开发用于输入简单数据过滤条件的 UI。 

此外,FireDAC 组件还提供了一些附加功能,通过限制特定查询控件的 SQL 命令类型、禁止多个命令以及阻止进一步的 SQL 更改,帮助开发人员提高应用程序安全性。如果与其他行业最佳实践一起使用,这些改进使开发人员能够提高应用程序安全性。

RAD Studio 12.0还引入了一个新的JSON映射向导,它可以生成与JSON数据结构匹配的类以及正确的读写代码以读取一组对象中的JSON并将其流式传输到新文件。 

截图 2023年11月6日 10月36日 07 点

RAD Studio IDE 改进

IDE 中有许多相关的更改。 

第一个是功能安装程序的新用户体验,用于初始产品安装或稍后添加功能和平台。该对话框在行为和 UI 上进行了完全重新设计,使用现代 VCL 控件,改善了新用户对产品的第一印象。它更易于使用,因为所有主要安装选项(包括额外的插件)都在一页上,这与以前的多步骤设计不同。如果出现安装问题,新对话框还提供更好的错误信息。

截图 2023 年 11 月 6 日 10 点 49 分 13 点

IDE 现在在许多辅助窗口中都具有语法突出显示功能,例如调用堆栈和结构视图。源代码搜索、导航工具栏的工作方式、多个编辑窗口的使用以及许多其他小调整也得到了改进。

除了为 C++Builder 引入 Visual Assist 集成之外,我们还进一步改进了用于 Code Insight 的 DelphiLSP 支持。例如,代码完成现在包括语言关键字,代码模板在完成过程中显示在上下文正确的代码区域中,并且更好地支持泛型和完成数组或数组类型。

最后,RAD Studio 进一步扩展了代码编辑器的新 ToolsAPI,让客户和第三方供应商为我们的 IDE 创建更灵活的插件。

RAD 服务器和 InterBase

我们的 REST 服务器 API 托管平台 RAD Server 有一些显着的改进。最重要的变化是能够轻松支持智能 ID 模型,使用标准库为服务器公开的资源定义更好的标识符。RAD Server 还提供更好的性能、数据分页改进、更好的会话身份验证和整体质量。

最后,新版本的RAD Studio包括开发者版和最近发布的InterBase 2020 Update 5的嵌入式版本。

质量,质量,质量

除了上面强调的功能之外,该版本还专注于多个子系统的质量工作,从 IDE 开始,还包括 Delphi RTL 库、VCL UI 库、FireMonkey 跨平台库、FireDAC 和其他数据访问层、HTTP 客户端和服务器组件以及 RAD 服务器。

在 RAD Studio 12 中,我们修复了客户在 Quality Portal (quality.embarcadero.com) 上报告的 1,027 个问题,解决了 877 个公共错误报告并实现了 150 个客户对新功能的请求。Z-Gantt时间管理进度计划甘特图软件

准备好出发

RAD Studio、Delphi 和 C++Builder 12 的产品试用版现已推出,更新的产品版本已在在线商店中上线。订阅更新的客户今天可以使用现有许可证下载并安装 RAD Studio 12,并将收到一封电子邮件,宣布新版本可用。可在客户门户网站https://my.embarcadero.com中进行下载。

欲了解更多信息,您可以查看以下链接:

  • RAD Studio的 Embarcadero 网站页面
  • DocWiki 中更详细的 “新增功能”页面
  • 已修复公开报告的错误列表(也在 DocWiki 中)
  • RAD Studio 功能矩阵 PDF
  • 演示存储库可以在GitHub上找到

我们对我们的团队为 RAD Studio 12 Athens 所做的工作感到非常满意,并且我们确信您也会同样喜欢使用这个新版本的 RAD Studio、C++Builder 和 Delphi。

相关文章:

美国Embarcadero公司正式发布2023 RAD Studio Delphi C++ Builder 12 Athens

Embarcadero 非常高兴地宣布发布 RAD Studio 12 Athens 以及 Delphi 12 和 CBuilder 12。RAD Studio 12 Athens 版本包含令人兴奋的新功能,为该产品的未来奠定了基础。 目录 主要新功能 C 的奇妙之处Delphi 的一些不错的补充FireMonkey 和 Skia 作为新基金会采用 MD…...

树莓派4B的测试记录(CPU、FFMPEG)

本文是用来记录树莓派 4B 的一些测试记录。 温度 下面记录中的风扇和大风扇是这样的: 为什么要用大风扇呢?因为小风扇在外壳上,气流通过外壳的珊格会有啸叫,声音不大但是很烦人,大风扇没这个问题,并且同样…...

物联网AI MicroPython学习之语法 二进制与ASCII转换

学物联网,来万物简单IoT物联网!! ubinascii 介绍 ubinascii模块实现了二进制数据与各种ASCII编码之间的转换。 接口说明 a2b_base64 - 解码base64编码的数据 函数原型:ubinascii.a2b_base64(data)注意事项: 在解码…...

学之思项目的搭建部署 打jar包失败的解决方法

学之思系统介绍部署java环境安装maven安装node.js前端打包工具命令npmGit命令获取源代码安装配置mysql前端打包打包jar包服务上线!!!打jar包失败的解决方法 学之思系统介绍 学之思开源考试系统是一款 java vue 的前后端不分离的考试系统。主要优点是开发、部署简单快捷、界面…...

[100天算法】-定长子串中元音的最大数目(day 67)

题目描述 给你字符串 s 和整数 k 。请返回字符串 s 中长度为 k 的单个子字符串中可能包含的最大元音字母数。英文中的 元音字母 为(a, e, i, o, u)。示例 1:输入:s "abciiidef", k 3 输出:3 解释&#xf…...

Elastic Observability 8.11:ES|QL、APM 中的通用分析和增强的 SLOs

作者:Tom Grabowski, Katrin Freihofner, Israel Ogbole Elastic Observability 8.11 引入了 ES|QL for Observability(技术预览版)、Universal ProfilingTM 和 Elastic APM 集成,以及针对 Elastic Observability 的新 SLO &#…...

TexGen简单模型对应inp文件简单梳理-2

模型 默认最简单的编织复材,编辑材料属性时发现基体属性设置正常,各向同性材料,但是纱线的材料属性却没有弹性性能的设置。 导出inp文件后,导入ABAQUS中其实可以看到有两种材料,纱线也是有属性的。 ABAQUS中修改属性的…...

VUE获取当前日期的周日和周六

<template><div><div click"handleLast()">上一周</div><div click"handleNext()">下一周</div><el-calendarref"monChild"v-model"value":first-day-of-week"7":range"[sta…...

K8S篇之k8s containerd模式fail to pull image certificate signed by unknown authority

"k8s containerd模式fail to pull image certificate signed by unknown authority"的问题 解决方案&#xff1a;您有两个选择&#xff1a;配置证书或禁用证书验证。 配置证书&#xff1a;您可以为 containerd 配置证书&#xff0c;使其信任由未知机构签名的证书。 具…...

算法进阶指南图论 最优贸易

最优贸易 题目描述 C C C 国有 n n n 个大城市和 m m m 条道路&#xff0c;每条道路连接这 n n n 个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这 m m m 条道路中有一部分为单向通行的道路&#xff0c;一部分为双向通行的道路&#xff0c;双向通行的…...

【Android】Debug时禁用主线程ANR限制

ANR全称Application Not Response&#xff0c;指主线程超过5s无响应&#xff0c;应用会自动退出 由于这个线程&#xff0c;如果我们给主线程加了断点&#xff0c;就会触发ANR&#xff0c;导致调试时应用退出 这样调试起来会非常麻烦&#xff0c;其实对于Debug应用&#xff0c…...

P6入门:项目初始化1-项目详情介绍

前言 使用项目详细信息查看和编辑有关所选项目的详细信息&#xff0c;在项目创建完成后&#xff0c;初始化项目是一项非常重要的工作&#xff0c;涉及需要设置的内容包括项目名&#xff0c;ID,责任人&#xff0c;日历&#xff0c;预算&#xff0c;资金&#xff0c;分类码等等&…...

进行 “最佳价格查询器” 的开发

前置条件 public class Shop {private final String name;private final Random random;public Shop(String name) {this.name name;random new Random(name.charAt(0) * name.charAt(1) * name.charAt(2));}public double getPrice(String product) {return calculatePrice…...

Brain Teaser概率类 - 三局两胜制

问题 三局两胜制比赛&#xff0c;两局结束还是三局结束的概率大&#xff1f; 解答 假设每局比赛的结果是独立同分布的&#xff0c;且遵循伯努利分布&#xff0c;其中一方的胜率为p&#xff0c;另一方为1-p. 则两局结束的概率是 p 2 ( 1 − p ) 2 ≥ 0.5 p^2 (1-p)^2 \geq …...

在现实生活中传感器GV-H130/GV-21的使用

今天&#xff0c;收获了传感器GV-H130/GV-21&#xff0c;调试探头的用法&#xff0c;下面就来看看吧&#xff01;如有不妥欢迎指正&#xff01;&#xff01;&#xff01;&#xff01; 目录 传感器GV-H130/GV-21外观 传感器调试探头 探头与必要准备工作 传感器数值更改调试 …...

海康Visionmaster-全局脚本:通过通讯触发快速匹配 模块换型的方法

如何实现根据通讯信号切换快速匹配的模型文件并触发流程执行&#xff1f; 1.动态切换模板需在全局脚本中调用相关接口实现&#xff0c;可以在全局脚本的通讯数据接收回调中实现代码逻辑&#xff0c;代码如下。 C# using System; using VM.GlobalScript.Methods; using System.…...

什么是闭包

闭包是指函数在定义时可以访问其词法作用域的能力&#xff0c;即使函数在定义之后被传递到了其他地方执行。它包含了两个主要的特性&#xff1a;函数内部可以访问外部函数作用域中的变量&#xff0c;而这些变量在函数执行完毕后依然保持在内存中。 具体来说&#xff0c;闭包的…...

sql6(Leetcode1387使用唯一标识码替换员工ID)

1112-2 代码&#xff1a; INNER JOIN 如果表中有至少一个匹配&#xff0c;则返回行 LEFT JOIN 即使右表中没有匹配&#xff0c;也从左表返回所有的行&#xff08;LEFT为基准 RIGHT JOIN 即使左表中没有匹配&#xff0c;也从右表返回所有的行 # Write your MySQL query st…...

qt-C++笔记之Qt中的时间与定时器

qt-C笔记之Qt中的时间与定时器 code review! 文章目录 qt-C笔记之Qt中的时间与定时器一.Qt中的日期时间数据1.1.QTime&#xff1a;获取当前时间1.2.QDate&#xff1a;获取当前日期1.3.QDateTime&#xff1a;获取当前日期和时间1.4.QTime类详解1.5.QDate类详解1.6..QDateTime类…...

【C++】复杂的多继承及其缺陷(菱形继承)

本篇要分享的内容是C中多继承的缺陷&#xff1a;菱形继承。 以下为本篇目录 目录 1.多继承的缺陷与解决方法 2.虚继承的底层原理 3.虚继承底层原理的设计原因 1.多继承的缺陷与解决方法 首先观察下面的图片判断它是否为多继承 这实际上是一个单继承&#xff0c;单继承的特…...

基于算法竞赛的c++编程(28)结构体的进阶应用

结构体的嵌套与复杂数据组织 在C中&#xff0c;结构体可以嵌套使用&#xff0c;形成更复杂的数据结构。例如&#xff0c;可以通过嵌套结构体描述多层级数据关系&#xff1a; struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…...

调用支付宝接口响应40004 SYSTEM_ERROR问题排查

在对接支付宝API的时候&#xff0c;遇到了一些问题&#xff0c;记录一下排查过程。 Body:{"datadigital_fincloud_generalsaas_face_certify_initialize_response":{"msg":"Business Failed","code":"40004","sub_msg…...

FFmpeg 低延迟同屏方案

引言 在实时互动需求激增的当下&#xff0c;无论是在线教育中的师生同屏演示、远程办公的屏幕共享协作&#xff0c;还是游戏直播的画面实时传输&#xff0c;低延迟同屏已成为保障用户体验的核心指标。FFmpeg 作为一款功能强大的多媒体框架&#xff0c;凭借其灵活的编解码、数据…...

Go 语言接口详解

Go 语言接口详解 核心概念 接口定义 在 Go 语言中&#xff0c;接口是一种抽象类型&#xff0c;它定义了一组方法的集合&#xff1a; // 定义接口 type Shape interface {Area() float64Perimeter() float64 } 接口实现 Go 接口的实现是隐式的&#xff1a; // 矩形结构体…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列&#xff0c;以便知晓哪些列包含有价值的数据&#xff0c;…...

Java线上CPU飙高问题排查全指南

一、引言 在Java应用的线上运行环境中&#xff0c;CPU飙高是一个常见且棘手的性能问题。当系统出现CPU飙高时&#xff0c;通常会导致应用响应缓慢&#xff0c;甚至服务不可用&#xff0c;严重影响用户体验和业务运行。因此&#xff0c;掌握一套科学有效的CPU飙高问题排查方法&…...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

中医有效性探讨

文章目录 西医是如何发展到以生物化学为药理基础的现代医学&#xff1f;传统医学奠基期&#xff08;远古 - 17 世纪&#xff09;近代医学转型期&#xff08;17 世纪 - 19 世纪末&#xff09;​现代医学成熟期&#xff08;20世纪至今&#xff09; 中医的源远流长和一脉相承远古至…...

【Linux】Linux 系统默认的目录及作用说明

博主介绍&#xff1a;✌全网粉丝23W&#xff0c;CSDN博客专家、Java领域优质创作者&#xff0c;掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域✌ 技术范围&#xff1a;SpringBoot、SpringCloud、Vue、SSM、HTML、Nodejs、Python、MySQL、PostgreSQL、大数据、物…...