RAD Studio 10.4 Sydney-Release 1(也就是10.4.1)。10.4.1基于10.4的功能集,增强了整个产品中的现有功能,并添加了新功能。可以将Delphi 10.4.1,C ++ Builder 10.4.1和RAD Studio 10.4.1下载到任何活动的Update Subscription客户。
RAD Studio 10.4.1非常注重质量改进。质量重点关注领域包括:
- 集成开发环境
- Delphi Code Insight(LSP)
- Parallel Library (并行库)
- SOAP和XML
- C ++Toolchain
- FireMonkey
- VCL
- Delphi编译器
- iOS部署
RAD Studio 10.4.1包含了10.4 补丁1,补丁2和补丁3中的所有修复程序。
除了提高质量外,10.4.1还包括许多新功能,如下所述。
安装10.4.1
如果您已经安装了10.4 Sydney(2020年5月26日),则安装10.4 Sydney-Release 1要求完全卸载并重新安装。在卸载过程中,您会看到一个用于保留设置的选项,默认情况下选项为启用状态。另外,您也可以使用“设置迁移工具”保留设置信息。
10.4.1中按产品领域划分的主要增强功能
支持平台
RAD Studio现在支持在Windows Server 2019上部署应用程序。
集成开发环境
Projects
- 软件包AUTO libsuffix:软件包现在可以具有自动版本后缀,而不是在每个新发行版中手动更新和指定正确的版本后缀。(编译器在10.4中默认支持此功能,但在10.4.1中引入了对IDE和程序包项目设置中功能的完全支持。)
- Pentium-safe FDIV编译器选项不再显示在Delphi编译器选项中。
- 现在,可以通过“项目”窗格工具栏中的下拉菜单使用在10.3之后不再可用的“项目”窗格上下文菜单项(通过右键单击“项目”窗格中的空白区域来调用)。
版面
- 改进了对跨多个屏幕使用多个编辑器窗口的用户的多监视器桌面布局的支持
- 浮动表单设计器已被删除。请注意,您仍然可以有多个编辑窗口,包括第二个窗口中的表单设计器,实际上,对它的支持已得到增强。
- 当IDE切换布局时,例如去切换为调试或切换为启动(例如,打开或关闭项目时),如果两个状态都指定了相同的布局,则不会应用该布局。这避免了不必要地切换布局。
- 标题栏的“桌面布局”组合框中将以灰色列出无法应用的桌面布局(即,浮动布局,不再受支持,请参见上文)。应用浮动布局时,IDE将改为显示一个对话框。
- 改进了对4K显示器的支持:现在,IDE在4K屏幕未缩放的情况下可以正确还原4K显示器上的布局
- 如果IDE需要项目的.dsk文件,但找不到该文件,则会使用默认布局打开它。
用户界面
- 选项和其他对话框:
- 现在,“项目选项”,“ IDE选项”,“ GetIt”和“新项”对话框具有滚动条跟踪(随着拖动滚动条而移动。)这包括使用鼠标滚轮滚动。
- 用于始终打开以显示Win64目标平台设置的“选项”对话框(环境选项);现在,它将根据当前活动的平台打开。
- 几个listview控件(在深色主题中可能很难阅读)已由虚拟树视图代替。
- 导览已从“欢迎”页面中删除
- 修复了多个对象检查器,尤其是闪烁和选择错误的属性
- 改进了“结构”窗格上的项目选择,包括您在其中单击项目和选择另一个项目的位置。
一般
- 默认情况下,“广播到设备”处于关闭状态。他总是在IDE启动时访问网络,从而对某些客户造成错误。现在它已被禁用,网络错误仅在您将其打开时才会发生。
- 已经阐明了64位Windows调试器的名称(在“附加到进程”对话框中可见),以说明哪个用于Delphi,哪个用于C ++。这应该可以帮助您选择在附加到进程时使用哪个调试器。
较小但值得注意的修复
- “删除无效路径”不应再删除有效路径。
- 移动工具栏不再出现问题。
- “ -showotamenunames”(由ToolsAPI开发人员使用)已重新启用。
- 现在可以再次在代码编辑器中编辑字符串列表。
- 对话框以现代风格显示在IDE中。
- 解决了绘图问题,例如在打开项目时将IDE窗口显示为纯色。
- 在Windows 7上,标题栏顶部不再有白线。
- 动作编辑器过去将图像绘制为黑色,这已解决。
- 现在某些IDE菜单可以正确绘制(例如Audits中的弹出菜单);还有些菜单没有显示菜单“已检查”状态,但是现在显示了。
- 调试符号搜索路径现在支持 ( P l a t f o r m ) 和 (Platform)和 (Platform)和(Config)环境变量
- 代码编辑器用于让您为单元选择无效的编码(仅适用于表单);这些现在不再可用。
- 解决了由于文件名大小写不同的软件包在磁盘上且通常在大型项目中出现而导致的无法加载软件包的问题。
Delphi LSP /代码完成更改
- Code Insight现在支持在类声明中完成
- 更出色的表现:
- 使用更少内存的DelphiLSP进程提高了内存使用率
- 速度提高:代码完成结果显示得更快
- 在代码完成内部,转到定义并悬停,所有这些都提供更好的结果(例如,代码完成改进了它建议的符号列表)。
- 有一些用于控制代码完成的新选项,使您可以调整功能使其行为与经典完成更加相似。在此处阅读有关这些设置的更多信息。
- 在键入时过滤代码完成时,现在可以选择在匹配的字符下面加上下划线。
- 课程完成设置已移至Code Insight设置页面
- 在IDE外部更改的文件(例如,通过外部编辑器或源代码控制)将被LSP服务器识别并重新扫描。
- 针对一般Code Insight问题(未显示完成结果)的一些修复,包括路径中带有+符号的问题,以及其他一些修复。
- 改善包处理
- 包含单位的包装不再引起错误
- 代码完成将提供所需软件包中的内容
- 程序包中不再报告不正确的错误报告。
- 软件包中的代码完成度得到了改善。
- 将鼠标悬停在符号上时,Help Insight将显示准确的内容。
- 打开“使用外部MSBuild进行编译”时,代码完成功能将起作用。c
- 当红色波浪线的长度错误时,呈现“红色波浪线”的错误已得到解决。
- 将代码完成的列表设置为按名称而不是范围进行排序时,选择一个项目会插入错误的文本。这没改变。
- 10.4.1还包括10.4 补丁2中的所有修复程序,例如当它们已经存在时不插入()花括号,按Space键不选择当前补全,补全滞后,然后未正确输入文本,Structure窗格中的Error Insight滞后击键等等。
大型项目的Code Insight
对于大型项目,以下修复将特别引人注意。请注意,上面的内存使用和性能修复对于大型项目也非常重要。
- 编译器改进了解析过去致命错误的尝试。
- 改进了在IDE端进行更改时向服务器的通知。这样可以减少流失并提高完成精度。
RTL改进
新的TLightweightMREW记录
正在引入一个新的读写器锁定实现,该实现可在所有受支持的平台上运行,并且比旧的TMultiReadExclusiveWriteSynchronizer(又名TMREWSync)更快,更轻便。TLightweightMREW在每个平台上包装了读写器锁的本机实现。
有关更多信息,请阅读TLightweightMREW文档。
并行编程库
对Linux的TThread.WaitFor,TParallel.For,TParallel.Join,TConditionVariableMutex.WaitFor,TTask.WaitForAny和TPoolThread类IdleWorkerThreadCount进行了许多修复。我们还解决了与PopItem有关的TThreadedQueue问题,大量线程的使用等问题。
SOAP和XML
- XML质量工作:与我们支持的各种DOMVendor(OmniXML,ADOM)相关联,TXMLDocument组件的一些长期存在的问题得到了改善。其中一些问题与UTF支持和编码有关。
- SOAP WSDL Importer:改进了WSDL导入逻辑以及SOAP客户端调用。
网络客户端
- Winapi.Winsock2现在包括inet_ntop以更好地支持IPv6地址
- TRESTResponseDataSetAdapter导入具有适当长度的JSON字符串
- 改进了对TJSONSerializer中的枚举的支持
- 一些TRestResponseDataSetAdapter修复
- 从URL创建TIPAddress现在也可以在Windows上使用
- Apple在Mac OS X 10.11和iOS 9上已弃用NSURLConnection API,但仍在我们的HTTP客户端库中使用。10.4.1在两个平台上都引入了对更新的NSURLSession API的支持。此更改还解决了macOS上代理支持的问题。
数据库
- 解决了许多DataSnap问题,包括一些性能问题和内存泄漏,MidasLib问题,DatasetProvider和TClientDataSet问题
- 改进的FireDAC对SQL Server函数参数的支持
- 使用IndexFieldNames修复TFDMemTable FindFirst
- 改进的TFDQuery具有计算字段和BLOB字段
- 更好的TFDTable PostgreSQL多列索引字段顺序
- 字符串内QuoteTag的FireDAC-PostgreSQL解析
其他RTL改进
- 使用自定义LineBreak改善TStrings的性能
- 优化的TObject方法返回或检查字符串
- 公开的UTF8IdentXxx函数
- 优化的LoadResString
VCL改进
- 解决了10.4中的一些TGrid回归(已在10.4补丁2中部分解决),包括TStringGrid和其他网格控件,OnDrawCell中的网格StretchDraw方法中的未对齐以及其他
- 改进了TGridPanel对基于百分比的间距的处理。现在,您可以为列或行指定确切的百分比,并使它们应用而不是在设置它们时进行修改。使用TGridPanel布局控件可以大大改善您的布局所需的间距,从而大大改善
- TBitBtn的内置字形已移至HighDPI,并扩展了缩放比例
- 自定义标题栏支持高DPI缩放比例,并具有许多其他质量修复功能
- TUpDown组件的Position属性和OnChangingEx事件的改进
- StatusBar组件支持DoubleBuffered图形
- 如果存在隐藏的选项卡,则TPageControl SetTabIndex方法现在可以正常工作
- TDateTimePicker文本在移动悬停时看起来并不模糊
- 通过替换字体高度计算逻辑,改进了TLabel的自动换行
- TListView信息提示保持可见时间更长
- DB控件边框看起来与非数据感知控件相同
- 几项风格改进
- 所有者绘制的顶级菜单项的标题宽度,样式菜单及其缩放比例的问题已得到改善
- 样式尊重TButton和TButton文本位置的ImageMargins
FireMonkey
FMX TMemo改进
我们将通过对Windows实施进行其他改进并在此新的FMX TMemo组件体系结构中添加对macOS的支持,来继续新的FireMonkey TMemo组件体系结构的工作。大多数关注点是针对韩文,日文和中文(以及其他语言)的TMemo IME模式,但在性能,稳定性,滚动行为,鼠标选择,复制和粘贴等方面也有一般性改进。TEdit也有修复程序。
较小但值得注意的修复
- 情节提要启动屏幕增加了对Apple所需的iOS图标大小的支持。
- 改进了iOS Push通知的权限管理
- TListView OnItemClick触发,即使已经选择
- 修复了Android上TMediaPlayer.Duration的值不一致的问题
- iOS WebBrowser的外部链接问题
- TStringGrid OnCellDblClick事件
- TListView Checkmark附件消失
Delphi语言
10.4.1版本在多个方面改进了Delphi编译器。重点是在支持LSP代码完成和改善托管记录质量方面,但我们还解决了一些10.4回归和意外更改(包括goto语句问题和其他不常见情况)。软件包引用和C ++ HPP文件生成方面有一些改进。该版本还提高了编译器在某些方面的性能,优化了单元名称查找和其他内部搜索,从而使大型项目受益。还有一些代码生成方面的改进(即,编译器可以生成性能更好的代码的情况)。
托管记录
此版本提高了托管记录的质量,包括:
- 返回值优化
- 清理一些编译器错误
- 改善操作员分配
- 对托管记录的默认值(T)的更改
- 托管记录和泛型更好地共存
- 缺少初始化的某些情况
C ++语言
Win64调试器
- 基于Win64 LLDB的调试器进行了一些改进,尤其是在捕获异常并从异常中继续以及在性能方面(特别是在有许多线程的情况下)。
- 修复了调用Delphi可视化工具的问题:不再调用TStringList,Currency和TDateTime的可视化工具。
- 修复了使用F7启动新的调试会话时显示异常对话框的问题。
- 操作系统异常的处理得到改善。
- 在有数百个线程的情况下步进时,IDE性能得以提高。
Linker
Win64链接器(ilink64)已对其内存处理进行了重大修订。这样可以减少大型项目或调试版本中的内存不足错误。
异常处理
几个关键的异常处理问题已得到修复。这包括影响ACE / TAO分配内存的问题,Windows API可能会在该问题上引发SEH异常。
一般问题
- 在Clang编译器中解决了一些崩溃,ICE和类似问题。
- 生成用于关闭的RTTI的问题已解决。
- 改进了调试信息生成,尤其是对于Delphi样式的类。
- RTL的改进,主要围绕删除MFC兼容性宏并始终导出这些符号,以及在支持通用C ++库时发现的兼容性问题。
其他增强
- 解决了许可证管理器应用程序中的访问冲突。
- 直接调用GetItCmd.exe不再从系统中删除已安装的软件包
相关或类似文章
《Delphi 10.4 Sydney下载地址集合(包括以前版本)》Delphi XE5 --10.4各版本的下载地址集合,方便大家下载。
大家有什么不清楚的,可以给我留言或讨论。
以上信息对您有用的话请点赞收藏