[公告] RAD Studio 10.3 来了

碧树西风 12天前 232

【官方更新说明简译】

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 都能用
    • 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% 提升)


最新回复 (2)
返回