【Delphi】Delphi XE3 について

# はじめに
**『Delphi XE3』** についての概要です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/d15978d1-0a39-f0d0-2012-b73494f7b73b.png)

# 概要
製品概要です。


| 項目 | 説明 |
|:---|:---|
| 製品名 | Delphi XE3 |
| コードネーム | WaterDragon |
| 発売年 | 2012  |
| 発売元 | Embarcadero Technologies |
| ビルドバージョン | 17.0  |
| コンパイラバージョン | 24.0 |
| BDS バージョン | 10.0 |
| サポートプラットフォーム | Windows (32/64 bit) / macOS (32bit) |

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

 - Windows 8 対応
 - Windows XP が動作対象外になった
 - ロケーション＆センサーがサポートされた
 - Metropolis UI がサポートされた
 - フォームデザイナの設定でフローティングデザイナが選べなくなった (レジストリを直接書き替える事でフローティングデザイナにする事は可能)
 - Enterprise 版以上で **FireDAC** が使えるようになった
 - ビジュアル LiveBindings デザイナが追加された
 - FireMonkey が DirectX 10 に対応した
 - FireMonkey でタッチ＆ジェスチャが使えるようになった (タッチキーボードはない)
 - FireMonkey で OS が持つ仮想キーボードがサポートされるようになった
 - FireMonkey で `TMediaPlayer` / `TMediaPlayerControl` などが使えるようになった
 - FireMonkey 用のビットマップスタイルデザイナが追加された
 - `System.SysUtils` 内にあったいくつかのグローバル変数が削除された
 - `Winapi.Wbem` が追加された
 - `TStringHelper` が使えるようになった
 - クラスフィールド **class threadvar** が使えるようになった 
 - String 型のヘルパーが追加された
 - コンパイラ属性が実装された
 - **const** に **[Ref]** 属性を付けて定数パラメータに参照渡しを強制させる事が可能になった
 - 0 ベース文字列が用意された。`{$ZEROBASEDSTRINGS ON}` で有効になるが、デフォルトではオフになっている

## その他

 - iOS アプリケーション開発がオミットされた
 - 『RaveReport』が付属しなくなった
 - 『InstallAware』が付属しなくなった
 - DBX や FireDAC のリモートアクセスは Enterprise 版以上の SKU でのみ有効であると明示された。Professional 版ではサードパーティ製ドライバであってもローカルアクセスしか許可されない (この制限は遡れば『Delphi for .NET』の BDP も同じ) 
 - <font color="Crimson">TBitmap にバッファオーバーフローの脆弱性がある</font>
 - 2012 年は『Windows 8』が発売された年です

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/76af8e1e-b01a-fc7e-6ef7-efa54e5d3dfb.png)

### FireDAC

『FireDAC』は Enterprise 以上の SKU 向けに突如配布されました。元は DA-SOFT の『AnyDAC』という製品であり、クラス名に「TAD～」と付いているのはそのためです。

# おわりに

このバージョンあたりから、64bit Windows 上で動作させても不具合が起きにくくなりました。

XE2 以前の Delphi は `BDS.EXE` (or `DELPHI.EXE`) を管理者権限で実行するか、<font color="Crimson">インストール先を `Program Files (x86)` 以下にしない</font>事をオススメします。設定ファイル等が **バーチャルストア** へ行く事があります。

FireMonkey にドラスティックな変更が加わっています。このバージョンの FireMonkey は **FireMonkey 2** と呼ばれる事があります。`FireMonkeyVersion` が 0.1 でも違っていたら互換性に問題があるかもしれないので注意が必要です。


## AFSoft さんの記事

Delphi XE3 に関しては [AFSoft さん](https://afsoft.jp/)による詳細な (膨大な) 記事があり、その記事を読みやすくするための HTML ファイルが用意されています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/692dff84-225d-c820-0d5d-b1dbda06c4b7.png)

 - [AFSoft さんの記事を読みやすくする HTML ファイル - Delphi XE3 版 (Delphi Forum)](https://ht-deko.com/delphiforum/?vasthtmlaction=viewtopic&t=21.0#postid-2147)

VCL から情報を探すのがとても便利です。DocWiki をグルグル回って時間を浪費するより、まずは AFSoft さんの記事を読んで要点を調べるのがいいかと思います。

FireMonkey に関してはこの後にドラスティックな変更が加わるため、記事とは仕様が異なる箇所もあります。

**See also:**

 - [Delphi / C++Builder の新機能 (2007 以降) (Qiita)](https://qiita.com/ht_deko/items/23f51b4345f5d9ef14b1)
 - [「MS Help 2.x ランタイムがインストールされていない」というエラーを解消する (Qiita)](https://qiita.com/ht_deko/items/be1fb0aa801abbcdaa5c)
 - [EULA Change: No Client/Server in XE3 Pro. Not even 3rd Party. (Deltics)](https://www.deltics.co.nz/blog/posts/1097/)
 - [Professional 版での DBX のライセンス (ht-deko.com)](https://ht-deko.com/tech037.html)
 - [コンパイラ属性 (DocWiki)](https://docwiki.embarcadero.com/RADStudio/ja/%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9%E5%B1%9E%E6%80%A7)
 - [Delphi および C++ Builder における VCL Bitmap LoadFromFile の脆弱性について (Support Wiki)](https://docwiki.embarcadero.com/Support/ja/Delphi%E3%81%8A%E3%82%88%E3%81%B3C%2B%2BBuilder%E3%81%AB%E3%81%8A%E3%81%91%E3%82%8BVCL_Bitmap_LoadFromFile%E3%81%AE%E8%84%86%E5%BC%B1%E6%80%A7%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6)
 - [オフラインインストール用に登録コードを取得する（RAD Studio/Delphi/C++Builder 2009からXE5まで） (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_2009%E3%81%8B%E3%82%89XE5%E3%81%BE%E3%81%A7%EF%BC%89)
 - [手動アンインストール手順（RAD Studio XE3）(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_XE3%EF%BC%89)

# 索引
[ [← Delphi XE2](https://qiita.com/ht_deko/items/ecf016fb41c8d3f78b2c) ] [ [↑ 目次へ](https://qiita.com/ht_deko/items/eb96629d705542e3a980) ]  [ [→ Delphi XE4](https://qiita.com/ht_deko/items/204023720f272f42f596) ]