[公告] RAD Studio 10.3 来了

官方原版下载链接:HTTP FTP

官方更新说明:原版

【官方更新说明简译】

1、Delphi 语言

  • 支持内联变量和内联变量的类型推断,说明参考上一篇
  • Linux 的内存管理已经不再使用 ARC 模型了,改成和 Windows 一样,NEXTGEN 定义在 Linux 平台上已经无效了
  • Linux 平台支持 AnsiString / AnsiChar 了,不过官方提示需要注意 Linux 和 Windows 的 ANSI 代码页并不一致。

2、C++

  • Win32 的 C++ 编译器支持 C++ 17 了,而且已经变为默认设置(原来是 BCC32),更快的代码,更好的第三方 C++ 库兼容。
  • C++ 编译器可以设置向后兼容 C++ 14/11/98/03
  • 使用 cquery(需要安装 Win64,只带了 64 位版本) 增强 C++ 的代码完成( Code completion),比以前版本更快和更好用,现在这个代码完成使用异步模式实现了,输入不会有卡顿的感觉。
  • Win64 下更好的数学性能,许多数学函数重新实现后平均比以前快了两倍 。
  • 支持错误检查(Error Insight)功能,可以像 Delphi 一样随时预览代码中的错误(红色下划线)
  • 支持调试优化过的构建(也就是 Release 版)。
  • 支持通过 GetIt 安装大量的 C++ 库。

3、公共部分

  • 修正了 C++/Delphi ABI 的兼容性
  • IDE 增加了两个新的主题,感觉更现代,可读性更好。
    • 多个关键对话框变动,以更明确及增加可读性
      • 工程和 IDE 选项对话框
      • 主窗口
      • 新建项目对话框
      • 编译对话框
      • GetIt 包管理器对话框
    • 窗体加载 / LiveBindings 设计期优化,速度大大提升
    • 知名的 Andreas Hausladen 的 “IDE Fix Pack” 已经被集成在新的IDE里了
    • VCL 集成的翻译架构和工具虽然仍然存在,但官方告诉你,活不长了
  • VCL
    • 通过使用 TVirtualImageList 和 TImageCollection 来支持高清图片列表,所有的控件都支持多分辨率了。TVirtualImageList 句柄提供一个 HIMAGELIST 句柄,可以被 VCL 控件和 相关 Windows API 使用
    • Per Monitor V2 支持:允许程序根据当前屏幕的 DPI 进行缩放。要启用这个功能 ,进入 Project > Options > Application > Manifest 中,设置 DPI Awareness 为 Per Monitor V2
    • Win 10 功能增强:增加了一堆 ,VCL 和 FMX 都能用
      WinAPI.ApplicationModel.Background.pas
      Winapi.ApplicationModel.Contacts.pas
      WinAPI.ApplicationModel.Core.pas
      WinAPI.ApplicationModel.DataTransfer.pas
      WinAPI.ApplicationModel.pas
      Winapi.CommonNames.pas
      WinAPI.CommonTypes.pas
      WinAPI.DataRT.pas
      Winapi.Devices.AllJoyn.pas
      Winapi.Devices.Bluetooth.Advertisement.pas
      WinAPI.Devices.Bluetooth.pas
      WinAPI.Devices.Enumeration.pas
      Winapi.Devices.Geolocation.pas
      Winapi.Devices.Midi.pas
      WinAPI.Devices.pas
      Winapi.Devices.PointOfService.pas
      Winapi.Devices.Scanners.pas
      Winapi.Devices.Sensors.pas
      Winapi.Devices.Sms.pas
      WinAPI.Foundation.Collections.pas
      WinAPI.Foundation.pas
      WinAPI.Foundation.Types.pas
      WinAPI.Gaming.pas
      WinAPI.Globalization.pas
      WinAPI.GraphicsRT.pas
      WinAPI.Management.pas
      Winapi.Media.Devices.pas
      Winapi.Media.MediaProperties.pas
      WinAPI.Media.pas
      WinAPI.Networking.Connectivity.pas
      WinAPI.Networking.NetworkOperators.pas
      WinAPI.Networking.pas
      WinAPI.Networking.Proximity.pas
      Winapi.Networking.PushNotifications.pas
      WinAPI.Networking.Sockets.pas
      WinAPI.Networking.Vpn.pas
      Winapi.Perception.pas
      WinAPI.Security.Credentials.pas
      WinAPI.Security.Cryptography.pas
      WinAPI.Security.pas
      Winapi.ServicesRT.pas
      Winapi.ServicesRT.Store.pas
      WinAPI.Storage.pas
      WinAPI.Storage.Streams.pas
      WinAPI.SystemRT.pas
      WinAPI.UI.Composition.pas
      WinAPI.UI.Core.pas
      WinAPI.UI.Input.Inking.pas
      WinAPI.UI.Input.pas
      WinAPI.UI.Notifications.pas
      WinAPI.UI.pas
      WinAPI.UI.Text.pas
      WinAPI.UI.ViewManagement.pas
      WinAPI.UI.WebUI.pas
      WinAPI.UI.Xaml.pas
      WinAPI.WebRT.pas
    • Windows API 更新:高 DPI 和手写笔相关接口,以及重复的声明重新整理了下。
    • 新增 TWindowsStore 组件来支持 Windows 应用商店。
    • TDirect2DCanvas 支持颜色字体、WM_POINTER 相关消息和接口,共享通讯薄扩展
  • FireMonkey
    • Android API 26 支持,以便符合谷歌应用商店要求
      • manifest 变更
      • 新的权限模型
      • Android Z 顺序和原生控件支持
    • iOS 12 支持,可以编译并发布到苹果应用商店了
    • 支持 MacOS 10.14 Mojave
    • 支持 Unicode 表情
  • FireDAC 和数据库
    • 一堆新版本数据库支持(不列了,反正出名的好象都支持了)
    • 增加 TFDBatchMoveJSONWriter
    • 优化 TFDBatchMove  和关联组件
    • 数据库提升
      • TClientDataSet 增加 IncludeBlobsInDelta 属性
      • TDSRestConnection 增加 SecureProtocols 属性,而且 REST  明确设置 Content-Type=application/json
      • REST 增加了一堆事件和相关接口/属性
      • THttpClient 增强在 Windows 下的性能,并增加了新的接口
  • 云增强:支持 Azure 的一堆东西,与你我无关。
  • RAD Server:估计国内没谁用,略
  • RTL
    • JSON 和 HTTP 性能的提升和兼容性增强
    • TStringList, TList, TList <T>, TQueue<T>, TStack<T> 加入 GrowCollection 优化,不再是简单的乘2,用户可以调用 Sysutils 的  SetGrowCollectionFunc  来自定义这一过程。
    • TStringBuilder 性能优化
    • JSON 解析性能和正确性增强
    • 列表相关的提升:
      • TDictionary 增加 TryAdd
      • TObjectList 增加 ExtractAt
      • TList IndexOf 性能增强
      • 优化 TList, TStrings, TComponent, TCollection, TList<> 的枚举器,现在空的 for in  循环比以前快 2.5~4 倍
    • 其它
      • zlib 升级到 1.2.8
      • PCRE 升级到 8.42 并且在 Windows 上包含 UTF-16 支持
      • AppTethering 支持长字符串
      • TMemoryIniFile 优化,更小的内存占用,更快的处理速度(读取和构造提升10~25 倍,其它有 50% ~100% 提升)
分享到: