【Delphi】Delphi 6 について

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

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/aeaaf6d1-4061-0373-77e1-3f771b5d8395.png)

# 概要
製品概要です。

| 項目 | 説明 |
|:---|:---|
| 製品名 | Delphi 6|
| コードネーム | Iliad |
| 発売年 | 2001 |
| 発売元 | Borland Software Corporation |
| ビルドバージョン | 6.0  |
| コンパイラバージョン | 14.0  |
| BDS バージョン | - |
| サポートプラットフォーム | Windows (/ Linux) |

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

 - マルチプラットフォーム用フレームワークとして **CLX** (Component Library for Cross Platform) が採用された
 - バリアント関連が Variants ユニットへ移動された
 - 列挙型に任意の値を割り当てられるようになった
 - 汎用的なインターフェイス型 (IInterface) が使えるようになった
 - `{$If}` コンパイラ指令が使えるようになった
 - `CONDITIONALEXPRESSIONS` と `CompilerVersion` が使えるようになった
 - インラインアセンブラが MMX 等に対応した
 - 改行が LF のソースコードを扱えるようになった
 - テキスト形式 DFM が Unicode 対応となった。U+0080 以降のコードポイントの文字は 10 進数で表される UTF-16LE でエスケープされるようになった
 - バイナリ形式 DFM が Unicode 対応となった。U+0080 以降のコードポイントの文字は UTF-16LE で格納されるようになった
 - カスタム Variant が作れるようになった
 - 複素数計算用のユニット `VarCmplx` が追加された
 - 度量衡計算用のユニット `ConvUtils` が追加された
 - 文字列操作用のユニット `StrUtils` が追加された
 - BCD 演算用のユニット `FmtBcd` が追加された
 - XML をサポートした (`[XML データバインディング]`、`XMLDoc`)
 - コンポーネントエディタ用インターフェイス (`dsgnintf`)の変更
 - **WebBroker** が強化された (Enterprise 版には **WebSnap** も追加された)
 - 生成した実行形式バイナリが Win32s で動作しなくなったと思われる (そもそも Delphi 2 ～ 5 で作った空のフォームのある VCL アプリケーションですら Win32s では動作しない)
 - IDE の強化 (コードエディタのタブの入れ替えなど)
 - Delphi 5 にあったデータモジュールデザイナが廃止され、左側ペインは [オブジェクトツリー]、［データダイアグラム］ページはコードエディタ下部の［ダイアグラム］ページへ移動した
 - ネットワークコンポーネントとして『**Indy** (Internet Direct)』が付属するようになった
 - 製品のアクティベーションが必須となった (従来はプロダクトキーのみ)

## その他

 - 初のマルチプラットフォーム対応 Delphi
 - CLX アプリケーションは Windows 版を『Delphi 6』で、Linux 版を『Kylix』または『Kylix 2』でビルドする
 - 『Kylix』『Kylix 2』のコンパイラバージョンも 14.0
 - ヘルプが劣化している (恐らく CLX 対応でページ数が増えすぎた事による Windows 9x での制限)。
 - **BDE** (Borland Database Engine) の最終バージョン (ver5.2) が付属する
 - 以降、**DBX** (dbExpress) が付属するようになった
 - 無償版の『Delphi 6 Personal』が公開された
 - DFM の挙動を Delphi 5 に合わせるレジストリキーが存在するが、Delphi 7 以降には存在しないので使用しない方がいい
 - `Synchronize()` が DLL 内で動作しなくなった
 - <font color="Crimson">TBitmap にバッファオーバーフローの脆弱性がある</font>
 - <font color="crimson">W32/Induc-A に感染する</font>
 - Borland を冠する社名に戻った
 - 前年の 2000 年に『Windows 2000』と『Windows Millennium Edition (Me)』が発売されています
 - 2001 年は『Windows XP』が発売された年です
 - 2001 年は『Mac OS X』の初版がリリースされた年です

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/a9efd5b2-0b23-36c4-f3b0-b40460addca5.png)

### コンポーネントエディタ用インターフェイスの変更

Delphi 5 までに存在した `DsgnIntf` は廃止されました。 多くの場合、`DesignIntf, DesignEditors` に置換すれば動作します。

設計時パッケージの requiers には `DesignIDE.dcp` を含める必要があります。

**See also:**

 - [DesignEditors (DocWiki)](https://docwiki.embarcadero.com/Libraries/ja/DesignEditors)
 - [DesignIntf (DocWiki)](https://docwiki.embarcadero.com/Libraries/Sydney/ja/DesignIntf)


# 次に

『Kylix』 についても触れておく必要があると思います。

## Kylix

Linux で動作する統合開発環境です。
CLX を使ったマルチプラットフォーム対応 (Windows / Linux) が可能です。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/4228245b-7594-61a9-0652-23afb9557368.png)

言語としては Object Pascal (Delphi) と C++ が使えます。「Kylix = Object Pascal」ではありません。

| 発売年 | 製品名 | 言語 | コンパイラ<br>バージョン | 対応する<br>Windows 環境 |
|:---:|:---|:---|:---:|:---|
| 2001 | Kylix  | Object Pascal | 14.0 | Delphi 6 |
| 2001 | Kylix 2  | Object Pascal | 14.0 | Delphi 6 |
| 2002 | Kylix 3 | Object Pascal<br>C++ | 15.0 | Delphi 7<br>C++Builder 6 |

 - 『Delphi 7』には『Kylix 3』の Object Pascal 版だけが使える『Kylix 3 for Delphi』が付属しました
 - 『C++Builder 7』は発売されていませんので、Kylix 3 (C++) と C++Builder 6 には若干のミスマッチがあると思われます
 - 無償版である Open Edition もリリースされました

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/21785/ed37eaa0-fabf-183a-4334-3ec839f748a7.png)

# おわりに

『Delphi 6 Personal』のおかげで Delphi ユーザーが増えた印象があります。


 - 『Delphi 6 Personal』が CD-ROM に収録されている[書籍](https://ht-deko.com/Delphi/books.html)は結構あります。
 - 『Kylix Open Edition』が CD-ROM に収録されている[書籍](https://ht-deko.com/Delphi/books.html)も結構あります。
 - 現在、Embarcadero によるアクティベーションは受け付けられていないと思いますが、インストールさえできれば未登録のままでも動いたと思います。

**See also:**

 - [ボーランド、Web サービス対応を強化した「Delphi 6」 (PC Watch)](https://pc.watch.impress.co.jp/docs/article/20010709/borland.htm)
 - [ボーランド、Delphi 6 と Kylix の無償ダウンロード版を 24 日に公開 (PC Watch)](https://pc.watch.impress.co.jp/docs/article/20010822/borland.htm)
 - [ボーランド、Linux 用ビジュアル開発ツール「Kylix 日本語版」を 5 月 18 日より発売 (PC Watch)](https://pc.watch.impress.co.jp/docs/article/20010417/borland.htm)
 - [Kylix (Wikipedia)](https://ja.wikipedia.org/wiki/Kylix)
 - [Component Library for Cross Platform (Wikipedia)](https://ja.wikipedia.org/wiki/Component_Library_for_Cross_Platform)
 - [Delphi で生成された EXE が動作する Windows のバージョン (Qiita)](https://qiita.com/ht_deko/items/e7d3e32dd97b3569e581)
 - [Delphi と複素数 (Qiita)](https://qiita.com/ht_deko/items/297c9158bece37fac7b2)
 - [【Delphi】とても長い数値の計算 (BCD) (Qiita)](https://qiita.com/ht_deko/items/3d8b06f459c3d861b5d5)
 - [Delphi Community Edition と過去の無償版との比較 (Qiita)](https://qiita.com/ht_deko/items/3c4c83157fe072532912)
 - [今更聞けない Delphi のコト (フォームファイル編) (ht-deko.com)](https://ht-deko.com/tech032.html)
 - [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)
 - [Delphi 6 の使用許諾 FAQ (Support Wiki)](https://docwiki.embarcadero.com/Support/ja/Delphi_6の使用許諾FAQ)
 - [Delphi 6 で使用許諾が完了したのに、製品を起動すると使用許諾ウィザードが表示されます (Support Wiki)](https://docwiki.embarcadero.com/Support/ja/Delphi_6%E3%81%A7%E4%BD%BF%E7%94%A8%E8%A8%B1%E8%AB%BE%E3%81%8C%E5%AE%8C%E4%BA%86%E3%81%97%E3%81%9F%E3%81%AE%E3%81%AB%E3%80%81%E8%A3%BD%E5%93%81%E3%82%92%E8%B5%B7%E5%8B%95%E3%81%99%E3%82%8B%E3%81%A8%E4%BD%BF%E7%94%A8%E8%A8%B1%E8%AB%BE%E3%82%A6%E3%82%A3%E3%82%B6%E3%83%BC%E3%83%89%E3%81%8C%E8%A1%A8%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99)
 - [W32/Induc-A Virus (Compile-A-Virus)に関する Q&amp;A (Internet Archive: EDN)](https://web.archive.org/web/20090903001158/https://edn.embarcadero.com/article/39854)

# 索引
[ [← Delphi 5](https://qiita.com/ht_deko/items/8f9123cc7e8d7810a603) ] [ [↑ 目次へ](https://qiita.com/ht_deko/items/eb96629d705542e3a980) ]  [ [→ Delphi 7](https://qiita.com/ht_deko/items/5218dc9ceb71b1c3c77c) ]