RAD Studio Delphi 10.4 Sydney悉尼有许多很棒的新功能,但当被要求排在前五名时,我不得不进行很多取舍。这是我在RAD Studio Delphi 10.4 Sydney中最喜欢的五个新功能。欢迎加入Delphi开发局QQ群:32422310
1)新的TEdgeBrowser组件是构建Windows应用程序的一项重大进步。更好的是更新了TWebBrowser组件,使开发人员可以灵活地选择要使用的浏览器引擎:IEOnly,EdgeIfAvailable,EdgeOnly。以下是使用TWebBrowser的简单C ++ Builder示例。
void __fastcall TForm1::Button1Click(TObject *Sender)
{
switch (RadioGroup1->ItemIndex) {
case 0: WebBrowser1->SelectedEngine = TWebBrowser::TSelectedEngine::EdgeIfAvailable; break;
case 1: WebBrowser1->SelectedEngine = TWebBrowser::TSelectedEngine::EdgeOnly; break;
case 2: WebBrowser1->SelectedEngine = TWebBrowser::TSelectedEngine::IEOnly; break;
default:
WebBrowser1->SelectedEngine = TWebBrowser::TSelectedEngine::IEOnly;
;
}
WebBrowser1->Navigate(Edit1->Text);
}
procedure TForm1.Button1Click(Sender: TObject);
begin
case RadioGroup1.ItemIndex of
0: WebBrowser1.SelectedEngine := TWebBrowser.TSelectedEngine.EdgeIfAvailable;
1: WebBrowser1.SelectedEngine := TWebBrowser.TSelectedEngine.EdgeOnly;
2: WebBrowser1.SelectedEngine := TWebBrowser.TSelectedEngine.IEOnly
else
WebBrowser1.SelectedEngine := TWebBrowser.TSelectedEngine.IEOnly
end;
WebBrowser1.Navigate(Edit1.Text)
end;
TSelectedEngine和TActiveEngine的声明:
Studio \ 21.0 \ include \ windows \ vcl \ SHDocVw.hpp:
enum DECLSPEC_DENUM TSelectedEngine : unsigned char { IEOnly, EdgeOnly, EdgeIfAvailable };
enum DECLSPEC_DENUM TActiveEngine : unsigned char { None, NoneYet, IE, Edge };
/// <summary>
/// The type of the SelectedEngine property of TWebBrowser
/// </summary>
TSelectedEngine = (
/// <summary>
/// Use the traditional Internet Explorer WebBrowser browser control
/// </summary>
IEOnly,
/// <summary>
/// Use the Edge WebView2 browser control if possible, an exception is raised
/// </summary>
EdgeOnly,
/// <summary>
/// Use the Edge WebView2 browser control if possible, otherwise fall back to using the Internet Explorer
/// WebBrowser browser control
/// </summary>
EdgeIfAvailable);
/// <summary>
/// The type of the ActiveEngine property of TWebBrowser
/// </summary>
TActiveEngine = (
/// <summary>
/// There is no browser control in use
/// </summary>
None,
/// <summary>
/// No browser control is in use yet, but initialization of the Edge WebView2 control is being attempted
/// </summary>
NoneYet,
/// <summary>
/// The Internet Explorer WebBrowser control is in use
/// </summary>
IE,
/// <summary>
/// The Edge WebView2 browser control is in use
/// </summary>
Edge);
2)我还喜欢新的样式选择选项,该选项使开发人员可以在表单和组件级别指定外观样式。泰山老父Marco在最近的博客文章中谈到了此功能。
3)对于Android开发,一项重要的新功能是对AdoptOpenJDK的支持,这将使开发人员摆脱Oracle的许可和支持规则。所有AdoptOpenJDK二进制文件和脚本都是开源许可的,并且免费提供。
4)迁移到所有平台上的非ARC统一内存管理实施中,从而提供与现有代码的更好兼容性,性能优势,针对组件,库和最终用户应用程序的更简单编码。对于C ++编译器,这大大简化了编译器和RTL。
5)最后,通过使用一个可以在联机和脱机模式下运行的安装程序应用程序以及改进的GetIt Package Manager ,可以简化安装。您可以使用可以在联机和脱机模式下运行的独立可执行安装程序。对于我的安装,我使用了.ISO文件,其中包含可执行安装程序和GOF(GameExchange Raw Object Definition)文件。
使用7-Zip实用程序,GOF文件包含以下文件和文件夹。
getit文件夹包含在线安装中已经下载的所有安装文件。
需要注意的一点:如果像我一样使用“脱机”安装程序,为了使RAD Studio IDE使用在线GetIt Package Manager进行补丁和其他安装,您将需要运行GetIt Package Manager命令行实用程序(在Studio \ 21.0 \ bin文件夹中可用,以设置在线与离线设置。
GetItCmd -c=[useonline/useoffline]
GetItCmd -c=useonline