【Delphi】Delphi 2005 について

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/3dd3a941-4d47-2c94-1d0e-c4e08dfaaa34.png)

# 概要
製品概要です。

| 項目 | 説明 |
|:---|:---|
| 製品名 | Delphi 2005 for Win32 |
| コードネーム | DiamondBack |
| 発売年 | 2004 |
| 発売元 | Borland Software Corporation |
| ビルドバージョン | 9.0  |
| コンパイラバージョン | 17.0  |
| BDS バージョン | 3.0 |
| サポートプラットフォーム | Windows |

:::note
『Delphi 2005』は

 - Delphi for Win32
 - Delphi for .NET
 - C# Builder

がセットになった製品です。
:::

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

 - **for in do** が使えるようになった
 - コレクションが書けるようになった
 - 配列コンストラクタが使えるようになった
 - 関数と手続きのインライン化をサポートするようになった
 - 識別子に英数 Unicode 文字を使用できるようになった
 - 型 (クラス) のネストが可能になった
 - 抽象クラス型 (**class abstract**) が使えるようになった
 - 可視性指定子 **strict private** と **strict protected** が使えるようになった
 - `&` による識別子を使う事で予約語との名前重複が可能になった
 - CLX フォームアプリケーションはサポートされなくなった
 - 状況依存ヘルプとして HTML Help が使えるようになった (`HTMLHelpViewer` / `WinHelpViewer`)
 - `TThread.Queue` が使えるようになった
 - `TSimpleEvent` が `TEvent` のエイリアスになった
 - `TMutex` が使えるようになった 

## その他

 - 『Delphi 2005』は『Borland Developer Studio 2005』という名前にすべきだったと思います。スイート製品に既存の単体製品の名前を付けたらダメでしょ！
 - IDE が刷新された (実際には Delphi 8 から)
 - ソースファイルを UTF-8 で保存する事が可能 (実際には Delphi 8 から)
 - リファクタリングができるようになった (実際には Delphi 8 から)
 - 海外では Delphi 2005 の無償版が存在した
 - <font color="crimson">インストール CD を読めない事がある (製造時の不具合)</font>
 - <font color="crimson">イメージエディタ (imagedit.exe) が付属しなくなった</font>
 - <font color="crimson">リモートデバッガが付属しない</font>
 - <font color="crimson">『Quick Report』が付属しない</font>
 - <font color="Crimson">TBitmap にバッファオーバーフローの脆弱性がある</font>
 - アプリケーションマニフェストを適用したアプリケーションを <font color="crimson">Windows Vista 以降で実行して〔Alt〕キーを単独で押すとコントロールが消える</font>問題がある [^2]
 - 2004 年には『Windows 2000』の Service Pack 4 がリリースされています
 - 2004 年には『Windows XP』の Service Pack 2 がリリースされています

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/1ba25dd3-48fc-570c-9d9e-dd292761256d.png)

### 正規表現ユニット SkRegExp

このバージョン以降、Pure Pascal で書かれた正規表現ユニット **SkRegExp** が使えます。

 - [SkRegExp (Github)](https://github.com/shukomiya/skregexp))
 - [正規表現の活用 (主に Delphi 2009 以降) (Github)](https://ht-deko.com/tech064.html)
 - [【Delphi】ゆるく正規表現を使う (Qiita)](https://qiita.com/ht_deko/items/a49d07eeb7b8d94c3a75)

:::note
Delphi 標準で正規表現が使えるようになるのは『Delphi XE』以降ですが、若干バギーなので XE2 以降での利用か、SkRegExp の利用をオススメします。
:::

Delphi 2006 以降だと『Delphi XE』以降付属の正規表現ラッパークラスと同等のラッパークラスが使えます。

# おわりに

かなりバギーなバージョンです。現在の Windows 環境へのインストールも困難です。

このバージョンは『Delphi 7』から見るとデグレードになっている部分がありますが、次バージョンの『Delphi 2006』でほぼ解消されます。

Delphi for .NET で先行して実装され、Delphi for Win32 で後から実装される機能があります。この状況はDelphi for .NET が廃止されるまで続くため、『Delphi 2009』辺りまでは Delphi for .NET で実装された機能が新機能として紹介されたり、そもそも紹介されなかったりしました。

関連ドキュメントは Delphi for .NET の廃止によりバッサリと切り捨てられたため、ドキュメントの混乱がしばらく続く事となります。

**See also:**

 - [Delphi でコントロール配列 [小ネタ] (Qiita)](https://qiita.com/ht_deko/items/9bf3b2e761cc4f169c75#delphi-xe7-%E4%BB%A5%E9%99%8D)
 - [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)
 - [Windows Vista対応アプリを作る (ht-deko.com)](https://ht-deko.com/tech005.html#tech027)
 - ["EditorLineEnds.ttr"を作成できません。プロセスはファイルにアクセスできません。別のプロセスが使用中です。エラーが発生する (Support Wiki)](https://docwiki.embarcadero.com/Support/ja/%22EditorLineEnds.ttr%22%E3%82%92%E4%BD%9C%E6%88%90%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%81%AF%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E5%88%A5%E3%81%AE%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%81%8C%E4%BD%BF%E7%94%A8%E4%B8%AD%E3%81%A7%E3%81%99%E3%80%82%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B)

# 索引
[ [← Delphi 8](https://qiita.com/ht_deko/items/5a7cd3643a4abcd659c9) ] [ [↑ 目次へ](https://qiita.com/ht_deko/items/eb96629d705542e3a980) ]  [ [→ Delphi 2006](https://qiita.com/ht_deko/items/77de54535aa3255b6910) ]

[^2]: [Fix for QC report 37403](http://cc.embarcadero.com/item/24282) で回避可能。概要は <a href="QCWIN:Defect_No=37403">QCWIN:Defect_No=37403</a>。