5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DelphiAdvent Calendar 2024

Day 25

【Delphi】Delphi 12 Athens について

Last updated at Posted at 2024-12-24

はじめに

『Delphi 12 Athens』 についての概要です。

image.png

概要

製品概要です。

項目 説明
製品名 Delphi 12 Athens
コードネーム Yukon (12.0)
発売年 2023
発売元 Embarcadero Technologies
ビルドバージョン 29.0
コンパイラバージョン 36.0
BDS バージョン 23.0
サポートプラットフォーム Windows (32/64 bit x 32/64 bit) / macOS (Intel 64 bit) / macOS (ARM 64 bit) / iOS デバイス (64 bit) / iOS シミュレータ (64 bit) / Android (32/64 bit) / Linux (64 bit)

前バージョンとの違い

  • 255 文字を超える文字列リテラルが使えるようになった
  • 三重引用符 (''') で囲んだ複数行文字列リテラルが使えるようになった
    var s := '''
    Hello,
    world.
    ''';
    
  • デフォルトで浮動小数点例外が無効になっている
  • DisposeOf() が廃止された
  • VCL での MDI サポートが強化された
  • FireMonkey がサポートするすべてのプラットフォームで『Skia』サポートが追加された
  • アダプティブアイコンに対応
  • エディタの上下分割が可能となった (Release 1)
  • Android 14 対応 (API レベル 34) (Release 1) 1
  • System.ThreadingTParallelArray が追加された (Release 2)
  • System.Generics.Collections に TDictionary から派生したソート可能な TOrderedDictionary クラスが追加された (Release 2)
  • Windows ターゲット用に 64 bit EXE 版コンパイラが用意された (Release 2 / Enterprise 以上)
  • Delphi LSP に 64 bit 版が用意された (Release 2 / Enterprise 以上)

その他

  • VCL トランスレーションサポート機能が標準でインストールされなくなった (GetIt から取得可能)
  • ConvertThreadToFiber() の定義が正しくなった
  • 最終バージョンでない Community Edition が例外的にリリースされた (12.1 相当)
  • ソースコードフォーマッタがいよいよ使い物にならなくなってきた

image.png

浮動小数点例外

0 除算などを浮動小数点例外を例外で処理していると困った事になりますが、『Visual C++』でも標準ではオフですし、Microsoft が浮動小数点例外を別の用途で使っているフシがあるので、浮動小数点例外は使わないに越したことはないと思います。あと、ARM アーキテクチャでは、そもそも浮動小数点例外をサポートしていません。

Delphi 11 Alexandria 以前の動作と同じにするには、プロジェクトファイル (*.dpr) の usesSystem.Math を追加し、SetExceptionMask() を設定します。

uses
  System.Math, ... // 追加

...

{$R *.res}

begin
  System.math.SetExceptionMask( [exPrecision, exUnderflow, exDenormalized]); // 追加
  Application.Initialize;
  ...

12.1 Community Edition

Community Edition が例外的にリリースされたのは Android アプリのためですかね? 1

image.png

おわりに

Delphi 12 Athens は最新版なので、今後のアップデートによって記事に何かしらの追記があるかもしれません。

Microsoft の Windows バージョンを追い越して 12 というバージョンが付けられました。エンバカさんの方針で行くと 13忌み数なので、次のバージョンが何になるのか楽しみです。「他所は他所、ウチはウチ」で製品名を付けてもらいたいものです。

Release 2 において、Windows プラットフォーム用の Delphi コンパイラは 4 種類になりました。

32bit ターゲット 64bit ターゲット
32bit EXE DCC32.EXE DCC64.EXE
64bit EXE DCC32.EXE DCC64.EXE

Enterprise 以上の SKU でしか使えないというのがエンバカさんらしいです...歴史は繰り返すというか 2

Advent Calendar の記事

Delphi 1 ~ 10 Seattle までの記事は Delphi Advent Calendar 2024 の シリーズ 2 で読めます。

2025/02/14 で Delphi は 30 周年です♪

Borland の期間 (1995/02/14~2008/06/29)
13 年 4 か月と 15日

Embarcadero の期間 (2008/06/30~2024/12/25)
16 年 5 か月と 25日

もう、Delphi は Embaracadero になってからの方が長いんですよね。

See also:

索引

[ ← Delphi 11 Alexandria ] [ ↑ 目次へ ]

  1. 2024 年 8 月 31 日以降、GooglePlay における新規アプリ登録は Android 14 (API Level 34) を対象とする必要がある。 2

  2. 『Turbo Pascal』の時に、大規模なプロジェクトをコンパイルできるようにしたプロテクトモードコンパイラが上位 SKU に用意されていた。

5
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?