Delphi 10.2 Tokyo的新特性
Delphi 10.2(Tokyo)出来一段时间了,最重要的新特性就是支持Linux的服务端。
官网有详细的介绍:
这里是主要的特性介绍:https://www.embarcadero.com/products/rad-studio/whats-new-in-10-2-tokyo
这里是详细的更新清单:http://docwiki.embarcadero.com/RADStudio/Tokyo/en/What%27s_New
我使用谷歌翻译将更新清单翻译了一下,和各位爱好者分享。
原文我就不贴出来了,请自行查看,以下是翻译的文字。
================翻译文开始==================
RAD Studio 10.2东京版本包含以下新功能和改进功能。
Linux
------------------------------
RAD Studio 10.2东京提供了对Delphi语言的Linux支持。编译器已启用ARC,仅支持服务器端应用程序;这包括控制台应用程序,WebBroker和DataSnap应用程序,以及RAD Server开发和部署的支持。应用程序还可以通过FireDAC访问数据。支持的Linux发行版是Ubuntu 16.04 LTS和RedHat Enterprise版本7.在RAD Studio 10.2东京的Linux支持在企业版及以上版本中可用。
Delphi Linux编译器
64位Linux平台支持
Delphi语言支持
启用ARC
1-based字符串
基于LLVM引擎
支持的Linux发行版
RAD Studio 10.2东京支持以下Linux发行版:
Ubuntu服务器(Ubuntu 16.04 LTS)
RedHat Enterprise Linux(版本7)
支持RTL功能
Linux文件系统访问
线程和并行编程库支持
内存管理
HTTP和REST库支持HTTP调用
用于服务器应用程序的64位Linux
用于服务器应用程序的最新RAD Studio技术已获得64位Linux支持。
FireDAC为所有支持Linux的DBMS提供Linux支持,唯一的例外是Informix。请参阅数据库连接。
WebBroker,RAD服务器(EMS)和DataSnap支持多层服务器(独立和Apache模块)。
DUnitX支持。
PAServer支持。
基于Indy的客户端和服务器支持。
FireMonkey
------------------------------------
iOS上的新系统状态栏选项
在TForm中添加了两个新的属性来更改iOS上的系统状态栏的行为:SystemStatusBar.BackgroundColor和SystemStatusBar.Visibility。
增强TMultiView
使用“已启用”属性关闭与TMultiView的用户交互。
管理TMultiView中边框外观的新选项。
TMultiView中对接面板模式的底部和顶部对齐方式。
多线程支持TBitmap,TCanvas和TContext3D
TBitmap:完成多线程支持。可以在任何线程中创建,销毁和修改,而无需同步。
TCanvas:支持从多个线程一次使用,但内部是序列化的。
TContext3D:支持从多个线程一次使用,但内部是串行化的
其他FireMonkey更改
添加了对以下文本控件的ICaption的支持:TText,TStyleTextObject,TActiveStyleTextObject,TTabStyleTextObject和TButtonStyleTextObject。
FMX对Windows的TWebBrowser的改进。
TEdit中附加的CharCase属性。
重新暴露的TStringGrid事件:
OnCellClick
OnCellDoubleClick
OnDragDrop
OnDragEnter
OnDragLeave
OnDragOver
OnResized
向TListViewItem添加了TagObject和TagString属性。
Android上的Delphi和Java线程的统一:CallInUIThread已被弃用。所有代码现在都在Java UI Thread中运行,不需要线程同步。
ProcessMessages方法用于调用CheckSynchronize方法,该方法从Java Native线程调用回调。以前有两个线程:Delphi UI线程和Java Native线程。 10.2中的重构工作之后,只有一个线程:Java Native线程,它接收来自Android的所有通知,并将它们转发到Delphi事件处理程序。当它通过while循环被阻塞时,不能执行任何事件处理程序,从而防止退出循环。如果没有代码保存应用程序主线程,则调用回调和事件。
改进FMX.Platform.Android.pas通过增强FMX.Platform.Device.Android.pas,FMX.Platform.Logger.Android.pas,FMX.Platform.Metrics.Android.pas,FMX.Platform.SaveState.Android.pas
,FMX.Platform.Screen.Android.pas和FMX.Platform.Timer.Android.pas。
TForm的Release方法已被弃用。
Android上的ShowModal更改。
新的FireMonkey样式
为MacOS和Android添加了新的FireMonkey样式。访问FireMonkey样式:
C:\ Users \ Public \ Documents \ Embarcadero \ Studio \ 19.0 \ Styles \ MacOS \ macOSgraphite.fsf
C:\ Users \ Public \ Documents \ Embarcadero \ Studio \ 19.0 \ Styles \ Android \ AndroidWearDarkBlue.fsf
FireDAC和数据库
------------------------------
Firebird的改进
New Direct属性添加对Direct I / O备份功能的支持。
MySQL的改进
支持MySQL v 5.7。
支持MariaDB v 5.5或更高版本。使用FireDAC的MySQL节点连接到MariaDB。
与最近的MySQL版本5.6.x和5.7.x. Compatibilty
MySQL准备语句API:现在支持旧的API(MySQL文本协议)和PS API(MySQL准备语句协议)。
您可以使用TFDResourceOptions.DirectExecute属性选择所需的API。
根据所使用的API,TFDCommand.CommandIntf.CliObj属性返回TMySQLStatement或TMySQLResult对象。
支持内部BLOB流(仅限smOpenWrite模式)。
改进了连接事务状态和TFDConnection.InTransaction属性的同步。此属性允许您确定连接事务当前是否正在进行中。
其他FireDAC更改
TFDDataMove组件已从此版本中删除,不再适用于工具选项板。改用TFDBatchMove组件。
注意:如果您需要TFDDataMove作为旧版项目,请使用FireDAC.Comp.DataMove.pas单元,可用于:
开始|程序| Embarcadero RAD Studio 10.2东京|样品,然后导航到:
对象Pascal \ Comp Layer \ TFDBatchMove \ DataMove_Deprecated
TFDBatchMove已经优化。作为副作用,TFDBatchMoveMappingItem的DestValue和SourceValue属性不再可用。
TFDMSAccessService现在支持Microsoft Access 2007或更高版本。
增强TFDMemTable组件在设计时编辑TFDMemTable数据集。现在,TFDMemTable上下文菜单提供了Edit DataSet ...项目,允许您编辑组件数据并将其保存到表单中。数据在运行时可用。
注意:在使用Edit DataSet ...之前,应该为数据集字段TFDMemTable.FieldDefs或创建持久字段指定字段定义。
数据库改进
VCL TDBImage直接支持JPEG和PNG图形格式。
支持BlobFields的显示选项。
对TField类的直接GUID访问。
RTL
---------------------------------
HTTP客户端
HTTP客户端库提供对64位Linux的支持。
改进了HTTP客户端中的异步支持
RTL支持64位Linux
RAD Studio 10.2东京提供使用标准系统功能,流和IOUtils单元的Linux文件系统支持。它还为64位Linux提供标准RTL路径功能支持。
应用程序捆绑改进
应用程序绑定获得以下功能:
用于TTetheringManager和TTetheringProfile的新SynchronizeEvents属性来控制与主线程的事件同步。因此,管理员和配置文件现在可以控制他们的事件处理程序是否在主线程上执行。
改进了对日志过滤的支持:添加了更多的日志消息。
新的和改进的散列函数
System.Hash单元中的以下方法现在接受流或字符串作为输入参数:
THashMD5.GetHashString
THashMD5.GetHashBytes
THASHSHA1.GetHashString
。。
THashSHA2.GetHashString
THashSHA2.GetHashBytes
System.Hash单元具有以下新方法,可以从文件获取散列摘要:
THashMD5.GetHashBytesFromFile
THashMD5.GetHashStringFromFile
。。。。。
THashSHA1.GetHashStringFromFile
THASHSHA2.GetHashBytesFromFile
THashSHA2.GetHashStringFromFile
移动平台
------------------------------------
改进的移动的C ++包
RAD Studio 10.2东京静态地链接iOS和Android的C ++包。以前版本的RAD Studio生成了C ++包的扩展名为.so的文件,但实际上并不是动态库。 RAD Studio 10.2 Tokyo生成具有正确文件扩展名(.a)的C ++包。如果您静态链接到.so包,则可能需要更改以链接到新的文件名。
RAD服务器多租户支持
通过Multi-Tenancy支持,具有单个RAD Server数据库连接的单个RAD Server实例可以支持多个独立的租户。每个租户都有一套独特的RAD服务器资源,包括用户,组,安装,边缘模块和其他数据。所有租户都有安装在EMS服务器中的自定义资源。另外,作为管理员,您可以创建新的租户,编辑现有的租户,添加,编辑或删除租户的详细信息,指定租户是否处于活动状态,并删除不需要的租户。
C ++编译器
----------------------------------
更好地支持调试
在Clang增强编译器中:
现在,使用Win32和Win64的Clang增强编译器构建的代码中的局部变量现在可以在手表或“本地变量”视图中进行评估。
当代码在方法中的不同作用域中具有两个具有相同名称的局部变量时,变量评估现在可以解析并根据当前位置显示正确的变量。
类名现在总是显示在调用堆栈中。
(Clang-enhanced Win32)支持用于调试信息的外部类型文件,从而减少为许多编译单元(例如VCL类型)中使用的常见类型创建的调试信息的重复。这大大减少了构建时生成的调试信息的大小。
更好的代码
在Clang增强编译器中:
-O1和-O2优化级别的代码已经得到改进,包括解决所有已知问题。
新支持-O3。 Clang增强型Win32和Win64编译器支持-O3,这是一个强大的优化级别,可能会在一些情况下双重编译代码性能。
移动平台支持
可以构建C ++ Android应用程序,无需NDK的特定版本。
链接器
C ++链接器有很大的改进:
改进资源处理来解决堆错误,包括内存不足,VIRDEF,dwarf_str等。
链接器现在可以使用高达4GiB的内存;它不再局限于2GiB。
链接器选项已被扩展,允许您为特定类型的调试或链接器数据设置资源分配大小。
虽然大多数项目不是必需的,但这对于非常大的项目或者产生异常数量的链接数据的项目(包括调试信息)非常有用。如果发生链接器错误,可以通过将选项定制到项目的行为来解决。
异常处理
对异常处理进行显着的质量改进,解决与内存泄漏有关的错误。
IDE
---------------------------------
Delphi的代码洞察和代码完成现在正确地处理静态和动态数组。
“查找文件”对话框适用于具有高DPI的屏幕。
支持不同DPI的设计和开放形式得到改进。
视图菜单已重新排列。已经将工具窗口(如对象检查器,结构,消息等)移动到现有Debug Windows子菜单下方的“工具Windows”子菜单中,并且新的“编辑器”子菜单包含编辑器上下文菜单中的多个编辑器操作和有用功能。已经移动了其他物品以保持相关物品相邻。
工具Windows子菜单编辑器子菜单
10.2查看工具Windows.png 10.2 View Editor.png
项目管理器中的代码编辑器选项卡和文件的上下文菜单现在具有“在资源管理器中显示”菜单项,它将在资源管理器中显示文件的位置。
项目的清单文件支持现在支持多个执行级别:作为Invoker,最高可用和需要管理员,还允许设置UI访问标志。
即使网络负载较高或网络连接不足,IDE加载速度也应该很快。
支持建设非常大型的项目组,如拥有一百多个项目的项目组,得到了改善。
调试器
iOS调试器
完全支持iOS10调试(来自10.1柏林修复程序)
完全支持iOS Simulator调试(来自10.1柏林修复程序) - 仅限Delphi。
在iOS调试器中支持编写Delphi字符串值
评估字符数组给出了预期的结果
结束调试会话的错误(也在macOS上)被解决
macOS调试器
完全支持macOS Sierra调试(来自10.1柏林修复程序)
结束调试会话的错误(也在iOS上)被解决
Linux调试器
支持在Linux上调试(仅适用于Delphi)
VCL
--------------------------------
高DPI修复
改进高DPI支持:
现在,正确地调整窗体边界以响应WM_DPICHANGED消息,这意味着TForm.AutoScroll工作正常,以及表单的上/左位置
当系统具有多个具有不同DPI的监视器时,窗体以正确的缩放因子打开
TTabSheet和TPageControl,以及放置在标签页或页面控件上的控件
ActionMainMenuBar将表单移动到具有不同DPI的显示器上时
VCL菜单(主菜单和弹出菜单)现在可以在高DPI显示器上正确显示
TStatusBar的高度在高DPI中保持正确
消息对话框的图标现在可以正确缩放
当使用不同DPI的显示器之间移动表单时,锚定的控件现在将保持在预期位置
TCheckBox和TRadioButton正确绘制
表单继承的几个问题,包括该控件现在使用正确的字体大小放置在面板上,ParentFont在继承的表单上设置为true,并且TListView列大小在继承的表单上保持不变。
其他改进
GetIt安装程序
增强并行下载。
云(Cloud)
通过更新的API改进了Azure和AWS支持。
编译器
Delphi命令行编译器现在已启用大内存地址,允许您从命令行编译较大的应用程序(并在IDE中调用时将编译器的可用内存匹配)。
假定动态数组是托管类型,涉及引用计数和相关的辅助函数生成,则不允许使用@运算符转换数组元素,因为它会导致内存损坏。在开发人员的责任下,仍然允许使用明确的转换操作执行类似的操作。
iOS 10模拟器,设备和macOS
完全支持iOS 10,包括iOS 10 32位和64位在设备上的调试,模拟器支持(仅限Delphi)和macOS Sierra支持。
================翻译文结束==================
Delphi 10.2 Tokyo的新特性的更多相关文章
- ArcGIS 10.3 for Desktop新特性介绍
ArcGIS 10.3是一个完整公布的ArcGIS平台,它包含新的产品(ArcGIS Pro),针对10.2版本号产品进行了功能增强和稳定性的改进. ArcGIS 10.3 for Server新特性 ...
- 咏南中间件+开发框架支持最新的DELPHI 10.2 TOKYO
咏南中间件+开发框架支持最新的DELPHI 10.2 TOKYO 价格十分优惠.有意者请向本人索取演示程序! 你只需花一套中间件的价格,就可获得:中间件,CS开发框架一套(赠送),BS开发框架一套(赠 ...
- [笔记] 升級到 Delphi 10.2 Tokyo 笔记
升級到 Delphi 10.2 Tokyo 笔记: 更新 Xcode 8.3 & iOS 10.3 测试: macOS 没问题(可 Debug) iOS Simulator 没问题(可 Deb ...
- DELPHI 10.2 TOKYO搭建LINUX MYSQL开发环境
DELPHI 10.2 TOKYO搭建LINUX MYSQL开发环境 笔者使用ubuntu64位LINUX 首先必须保证LINUX可以连互联网. 安装MYSQLsudo apt-get update ...
- DELPHI 10.2(TOKYO) FOR LINUX的兼容性说明
DELPHI 10.2(TOKYO) FOR LINUX的兼容性说明 自DELPHI 10.2(TOKYO) 始开始支持Linux . Delphi Linux 编译器 64 位 Linux 平台支持 ...
- Delphi 10.2 Tokyo新增JSON类学习——TJsonSerializer
Delphi 10.3.2 for windows 7 编译通过,源码下载地址: Tokyo 10.2新增类,效率更高更快 TJsonSerializer 需要引用单元:System.JSON.Ser ...
- 【ArcGIS 10.2新特性】ArcGIS 10.2 for Desktop 新特性(二)
4 三维 4.1 共享三维场景 用户能够将ArcScene文档导出为3D web场景,能够被加载到ArcGIS Online.Portal或本地Web服务器上并进行分享.这样,用户可以 ...
- ArcGIS 10.3 for Server新特性介绍
ArcGIS10.3的正式版立即在美国Esri全球用户大会推出.中国的正式发行时间预计在Esri中国的用户大会.以下就将用户比較关心的ArcGIS 10.3 for Server的新特性给大家进行简单 ...
- jdk 9 10 11 12 13 新特性
jdk 9 新特性 1.集合加强 jdk9 为所有集合(List/Set/Map)都增加了 of 和 copyOf 方法,用来创建不可变集合,即一旦创建就无法再执行添加.删除.替换.排序等操作,否则将 ...
随机推荐
- 利用WPF建立自己的3d gis软件(非axhost方式)(九)SDK自带部分面板的调用
原文:利用WPF建立自己的3d gis软件(非axhost方式)(九)SDK自带部分面板的调用 先下载SDK:https://pan.baidu.com/s/1M9kBS6ouUwLfrt0zV0bP ...
- 【35.39%】【hdu 3333】Turing Tree
Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submission(s) ...
- WPF--常用布局介绍
概述:本文简要介绍了WPF中布局常用控件及布局相关的属性 1 Canvas Canvas是一个类似于坐标系的面板,所有的元素通过设置坐标来决定其在坐标系中的位置..具体表现为使用Left.Top.Ri ...
- zabbix从听说到学会
一.zabbix简介 zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供 ...
- uwp - ContentDialog - 自定义仿iphone提示框,提示框美化
原文:uwp - ContentDialog - 自定义仿iphone提示框,提示框美化 为了实现我想要的效果花费了我很长时间,唉,当初英语不好好学,翻官网翻了半天才找到,分享给刚入门的新手. 首先看 ...
- 微博地址url(id)与mid的相互转换
关键字:新浪 微博 url id mid 互相转换地址:http://www.cnblogs.com/txw1958/archive/2012/12/07/weibo-id-to-mid.html 通 ...
- wpf版权限管理
之前做的权限管理是基于Mvc的Web项目,模型.仓储及业务层次分明,6月中旬开始使用这套之前完成的底层架构开发Wpf版本的权限管理软件(后续将成熟企管系统进行抽象业务加入到该版本中,向企管系统靠近) ...
- ubuntu12.04单卡server(mentohust认证)再加上交换机做路由软件共享上网
最近成立了实验室的网络环境中,通过交换机连接的所有主机实验室.想要一个通过该server(单卡)做网关,使用mentohust认证外网,然后内网中的其它主机通过此网关来连接外网. 1.首先在serve ...
- hann function
hann function 是一种离散型窗函数,定义如下: w(n)=12(1−cos(2πnN−1))=sin2(πnN−1) 窗口的长度为 L=N+1; hann function 以及其傅里叶响 ...
- ubuntu如何修改terminal终端的主机名(修改/etc/hostname文件)
有时候安装完Ubuntu系统后,打开命令终端,终端显示的主机名格式比较难看,例如 我最近买的国内某云的VPS. xxx@VM-1560-ubuntu$ xxx@VM-1560-ubuntu$ 对于有洁 ...