Table of Contents
Delphi 12の 12 × 12の新機能
RAD Studio 12には、C++Builder向けにいくつかの優れた改善点が含まれており、リリースウェビナーやブログなどのオンラインコンテンツでもその点をを強調しています。しかしながら、Delphi開発者にとっても素晴らしいリリースとなっております。Delphi 12.0で行われた12の改善点をそれぞれ12個の項目にまとめました。つまり、Delphi 12の12の改善点のリストではありません。12×12 = 144 個の改善点のリストに、ネイティブ Windows向けの 6 個の改善点を加えると、合計はなんと150個になります。このブログでは、Delphi サイドの改善点を強調したいため、C++Builder向けに行われた改善点はすべて除きます。(ただし、以下の紹介する項目は、実際にはDelphi/C++Builder両方で利用可能な機能です)
- 第1回「Delphi 12における3 x 12 VCLの機能強化」
- 第2回「Delphi 12における3 x 12 FireMonkeyとAndroidの機能強化」
- シリーズ3回目となる今回は、Delphiランタイムライブラリ(RTL)、データベースアクセス、インターネットアクセスの3つの関連分野にフォーカスした3つのリストを掲載します。そしてこの3つの分野それぞれについて12の新機能を以下のようにリストアップしました。
Delphi RTL
- TList とその下位クラスの場合、「List Index out of bounds」エラー メッセージが拡張され、使用されているインデックスと有効範囲(または、その構造体が空という状況)も含まれる
- 新しい TArray メソッドの追加: IndexOf、LastIndexOf、Contains
- UnicodeテキストファイルでのBOMの要件を無効にする新しいTEncoding.UseBOMプロパティ: 新しいTEncoding.IsBufferValidメソッドにより、指定されたバッファに指定されたエンコーディングの有効なデータが含まれているかどうかの確認が可能
- System.UIConsts.Colors(StringToColor および ColorToString 関数で使用)に色が追加
- TStreamは、フルディスクへの書き込み際に、より適切なエラーメッセージを表示
- TValue.FromVariantが配列をサポート
- TZipHeader.ModifiedTimeの追加、TZipFileでのDeflate64のサポート、DecryptとEncryptメソッドを持つIZipCryptorインターフェイスの追加
- TThreadPool.InitializeCOM および InitializeCOMFlags プロパティ
- TThreadPool.OnThreadStartおよびOnThreadTerminateイベント
- TPath.GetDesktopPathおよびTPath.GetAppPath
- ファイルのコンテンツを読み取る新しい列挙型の追加:TFile.GetLinesEnumeratorおよびTTextReader
- FormatXMLDataメソッドの拡張
データ、FireDACなど
- Blob フィールド管理の改善
- FireDAC SQLiteは、SQLiteの新しいバージョンをサポートするように拡張されましたが、FireDAC暗号化サポートと古いバージョンも提供
- 新しいTFDQBEコンポーネントによるQBE(query by example)をサポートし、エンドユーザーの入力に基づいてクエリを構築する新しい方法を提供
- FireDAC接続の新しいプロパティCommandsExecuted
- FireDACがMongoDBのDecimal128をサポート
- TDBRichEditでもスペルチェックが利用可能に
- FireDAC が SQL Server の {INTO} エスケープシーケンスをサポート
- TBlobFieldの表示ロジックの改善
- FireDAC セキュリティオプション (TFDSecurityOptions): AllowedCommandKinds, AllowMultiCommands, AllowSQLChange, ExactUpdatedRecsNum
- Delphi iOS シミュレータ プラットフォームに対して、InterBase 組み込みバージョンをサポート
- SQLiteのバージョン3.42への対応
- JSONデータバインディングウィザードとJSONマッピングの改善
インターネットライブラリ
- TWinHTTPClient.DoExecuteRequestメソッドが4GB以上のデータ転送をサポート
- コンテンツを含む HTTP DELETE メソッドをサポート
- RESTRequest はマルチパートの ContentType を許可(TMultipartFormData.AddStream オーバーロード メソッドも)
- 新たにOnBeforeExecuteイベントがTCustomRESTRequest に追加
- THTTPClient.OnRedirect、THTTPClient.OnUpdateCookie、TNetHTTPClient.OnRedirect、TNetHTTPClient.OnUpdateCookieによるリダイレクトとクッキー管理の改善
- System.Classes での新しい TProxyAggregateStreamクラス
- Windowsを含むLinux以外のプラットフォームのCurlサポート
- THTTPRequest.OnReceiveDataEx を使用した HTTP (または REST) リクエストでデータを受信中にデータにアクセスする機能をサポート
- RAD Serverのパフォーマンス向上 (FastMM5 を使用)
- RAD Server ページングの改善: TEMSDataSetResource.PageSize、TEMSDataSetResource.PageSizeParamName、TEMSDataSetResouceOption.roEnablePageSizing
- Squid エンコード ライブラリと、RAD Server で Sqid を URL に使用するためのサポート
- RAD Server セッション認証の改善(TCustomBackendAuth.ExportLogin,TCustomBackendAuth.ImportLogin)
RAD Studio 12 Athensの詳細については、以下のリンクをご確認してください。