【Delphi】Delphi 11 Alexandria について

# はじめに

**『Delphi 11 Alexandria 』** についての概要です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/dedefe0e-2241-652f-d688-89516755cfe4.png)

# 概要
製品概要です。

| 項目 | 説明 |
|:---|:---|
| 製品名 | Delphi 11 Alexandria |
| コードネーム | Olympus (11.0) |
| 発売年 | 2021 |
| 発売元 | Embarcadero Technologies |
| ビルドバージョン | 28.0  |
| コンパイラバージョン | 35.0 |
| BDS バージョン | 22.0 |
| サポートプラットフォーム | Windows (32/64 bit) / macOS (Intel 64 bit) / macOS (ARM 64 bit) / iOS デバイス (64 bit) / iOS シミュレータ (64 bit) / Android (32/64 bit) / Linux (64 bit) |

## 前バージョンとの違い

 - macOS ARM 64bit 用コンパイラ (`dccosxarm64.exe`) が追加された
 - iOSシミュレータ ARM 64bit 用コンパイラ (`dcciossimarm64.exe`) が追加された
 - Visual Studio Code で Delphi LSP を使うための機能拡張が用意された
 - IDE が High DPI 対応になった
 - IDE のパフォーマンスが向上した
 - GetIt でローカルパッケージがインストールできるようになった
 - アップデートサブスクリプションの残日数が IDE に表示されなくなった (起動時の通知はある)
 - ウェルカムページが VCL アプリになった
 - IBX に高速化が施されている
 - 2 進数リテラルと区切り文字が実装された
    ```pascal
      var v := %0000_1010_0101_1111;
    ```
 - VCL のデフォルトフォントが `Segoe UI` (9pt) になった
 - `TRichEdit` がラップしている RichEdit (`Msftedit.dll`) が変更になった (Delphi 10.4 Sydney 以前は `Riched20.dll` をラップしていた)
 - `System.Hash` で FNV-1a (`THashFNV1a32`) がサポートされた
 - `TDateTime` にヘルパーが追加された (`System.DateUtils.TDateTimeHelper`)
 - 『IDE Fix Pack』の一部の機能がマージされている (Release 1)
 - WebBroker が Android で動作するようになった (Release 1)
 - エディタタブの色分けや [×] ボタンの非表示ができるようになった
 - CPU ビューが構文強調表示されるようになった (Release 2)
 - **Markdown エディタが内蔵された** (Release 2)
 - IDE から IE コンポーネントが削除された (Release 2)
 - GUI な HTML エディタが削除された (Release 2)
 - Android API Level 32 対応 (Release 2) [^1]

## その他

 - macOS 32bit 用コンパイラ (`dccosx.exe`) が廃止された
 - iOS シミュレータ 32bit 用コンパイラ (`dccios32.exe`) が廃止された
 - iOS デバイス 32bit 用コンパイラ (`dcciosarm.exe`) が廃止された
 - (デフォルトの状態で) 生成された実行形式バイナリが **Windows XP で動作しなくなった**
 - 実行形式バイナリを Windows XP で動作させる事ができるようになった (Patch 1)
 - <font color="crimson">DoubleBuffered が True だと Windows 11 で表示が崩れる事がある (Release 1 で解決)</font>
 - 日本語版の[『Object Pascal Handbook 11 Alexandria Edition』](https://www.amazon.co.jp/dp/4877835210/)が発売された
 - 2021 年は『Windows 11』が発売された年です

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/64d49a82-9eda-067c-9b43-47c64d43a42c.png)

### 実行形式バイナリを Windows XP で動作するようにするには？

『Delphi 11 Alexandria』で吐かれた実行形式バイナリは、PE ヘッダーフラグが変更された影響で、XP 以前の Windows では動作しなくなりました。

PE ヘッダフラグを 5.0 に書き替えれば、XP 以前の Windows で動作させる事が可能になります。

```pascal
{$SETPEOSVERSION 5.0}     // 5.0 に変更
{$SETPESUBSYSVERSION 5.0} // 5.0 に変更
```

プロジェクトオプションのリンカオプションを変更しても同じ効果が得られます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/28844a95-fa9a-5fc5-ef46-4e0c66fe7de4.png)

**See also:**

 - [Delphi で生成された EXE が動作する Windows のバージョン (Qiita)](https://qiita.com/ht_deko/items/e7d3e32dd97b3569e581)
 - [RAD Studio 11.xでビルドしたEXEをWindows XP上で実行させると「有効な Win32 アプリケーションではありません」というエラーが発生する (Support Wiki)](https://docwiki.embarcadero.com/Support/ja/RAD_Studio_11.x%E3%81%A7%E3%83%93%E3%83%AB%E3%83%89%E3%81%97%E3%81%9FEXE%E3%82%92Windows_XP%E4%B8%8A%E3%81%A7%E5%AE%9F%E8%A1%8C%E3%81%95%E3%81%9B%E3%82%8B%E3%81%A8%E3%80%8C%E6%9C%89%E5%8A%B9%E3%81%AA_Win32_%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A7%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%8D%E3%81%A8%E3%81%84%E3%81%86%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B)


# おわりに

Microsoft に『Windows 10』のネーミングの件で騙されたので (?)、10.x というネーミングはやめて Windows 11 に合わせて 11 となりました。Apple も 2016 年の『10.12 Sierra』からは『OS X』ではなく『macOS』にしてましたしね。

`DoubleBuffered` が True になっているフォームの表示が Windows 11 で崩れる問題は Windows 側のバグで [KB5013943](https://support.microsoft.com/en-us/topic/may-10-2022-kb5013943-os-build-22000-675-14aa767a-aa87-414e-8491-b6e845541755) にて修正されているのですが、Delphi 側でも Release 1 で修正が入りました。これ、バイナリしかないと困るんですよね。[こちら](https://qiita.com/ht_deko/items/fcef4b7075093cd0209e)でも書いた Windows 11 でボタンが透ける問題も地味に厄介です。

Markdown エディタが内蔵されたので、GitHub のドキュメントが書きやすくなりました。Discord の投稿の下書きにも使えます...もちろん、**この Qiita の記事を書いてくれてもいいんですよ？**

 - [Markdown 記法 チートシート (Qiita)](https://qiita.com/Qiita/items/c686397e4a0f4f11683d)

## Object Pascal Handbook 11 Alexandria Edition

『Object Pascal Handbook 11 Alexandria Edition』も発売されています。英語版でよければ無償の PDF もあります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/7d83a4ef-a99f-3a58-26a3-ba99957efe8a.png)


**See also:**

 - [Delphi / C++Builder の新機能 (2007 以降) (Qiita)](https://qiita.com/ht_deko/items/23f51b4345f5d9ef14b1)
 - [RAD Studio / Delphi / C++Builder 11 Alexandria スタートアップ FAQ (Qiita)](https://qiita.com/ht_deko/items/4dbdfef678430c26d4ad)
 - [DelphiLSP (Visual Studio Marketplace)](https://marketplace.visualstudio.com/items?itemName=EmbarcaderoTechnologies.delphilsp)
 - [Delphi LSP を Visual Studio Code から使う (Qiita)](https://qiita.com/ht_deko/items/43344648068ee84e3017)
 - [【Delphi】IBX (InterBase Express) で Firebird を使う (Qiita)](https://qiita.com/ht_deko/items/a51df59c34a6c859296b)
 - [Delphi UCL の紹介 (Qiita)](https://qiita.com/ht_deko/items/fcef4b7075093cd0209e)
 - [【Delphi】GetIt パッケージをローカルインストールする (Qiita)](https://qiita.com/ht_deko/items/77fb2e1e19ff4e363b34)
 - [[Delphi][小ネタ] Delphi 11 Alexandria で誰も気づいていない FMX Constraints (Qiita: @pik)](https://qiita.com/pik/items/2f34b85c59b3fa5c149d)
 - [リッチ エディット コントロールについて (learn.microsoft.com)](https://learn.microsoft.com/ja-jp/windows/win32/controls/about-rich-edit-controls#rich-edit-version-30)
 - [Object Pascal Handbook 11 Alexandria Edition 英語版 (Embarcadero)](https://lp.embarcadero.com/ObjectPascalHandbookD11)
 - [Object Pascal Handbook 11 Alexandria  Edition 掲載のソースコード (GitHub)](https://github.com/MarcoDelphiBooks/ObjectPascalHandbook104)
 - [Windows 11環境でフォーム上のTButtonなどのコンポーネントの色が透過する (Support Wiki)](https://docwiki.embarcadero.com/Support/ja/Windows_11%E7%92%B0%E5%A2%83%E3%81%A7%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E4%B8%8A%E3%81%AETButton%E3%81%AA%E3%81%A9%E3%81%AE%E3%82%B3%E3%83%B3%E3%83%9D%E3%83%BC%E3%83%8D%E3%83%B3%E3%83%88%E3%81%AE%E8%89%B2%E3%81%8C%E9%80%8F%E9%81%8E%E3%81%99%E3%82%8B)
 - [オフラインインストール用に登録コードを取得する（RAD Studio/Delphi/C++Builder XE6以降、InterBase XE7以降、ER/Studio 10以降）(Support Wiki)](https://docwiki.embarcadero.com/Support/ja/%E3%82%AA%E3%83%95%E3%83%A9%E3%82%A4%E3%83%B3%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E7%94%A8%E3%81%AB%E7%99%BB%E9%8C%B2%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E5%8F%96%E5%BE%97%E3%81%99%E3%82%8B%EF%BC%88RAD_Studio/Delphi/C%2B%2BBuilder_XE6%E4%BB%A5%E9%99%8D%E3%80%81InterBase_XE7%E4%BB%A5%E9%99%8D%E3%80%81ER/Studio_10%E4%BB%A5%E9%99%8D%EF%BC%89)
 - [手動アンインストール手順（RAD Studio 11）(Supprt Wiki)](https://docwiki.embarcadero.com/Support/ja/%E6%89%8B%E5%8B%95%E3%82%A2%E3%83%B3%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E6%89%8B%E9%A0%86%EF%BC%88RAD_Studio_11%EF%BC%89)

# 索引
[ [← Delphi 10.4 Sydney](https://qiita.com/ht_deko/items/02721c8476d3c8edf526) ] [ [↑ 目次へ](https://qiita.com/ht_deko/items/eb96629d705542e3a980) ]  [ [→ Delphi 12 Athens](https://qiita.com/ht_deko/items/426d16042d72317d2d64) ]

[^1]: 2022 年 8 月 31 日以降、GooglePlay における新規アプリ登録は Android API Level 31 を対象とする必要がある。