Delphi Programming / Object Pascal
[掲載 2016年09月27日] [更新 2018年10月21日] Delphi 一般・その他
Delphi の無料ダウンロード版
動作確認等
Delphi 10.2.3 Tokyo Community Edition
Delphi 10.1 Berlin Starter Edition
Delphi には,同じバージョンでも Professional, Enterprise, Ultimate, Architect 等,複数のエディション (Editon) があります.これらは実装している機能に違いがあります.
2018年07月19日,製品版の Delphi Professional Editon に相当する無料版の Community Edition の提供が開始されました.
2016年09月27日,32 ビットの Windows アプリケーション開発専用として,Delphi Starter Edition が無料で入手できるようになりましたが,実装されているコンポーネントも製品版よりも少なく,ソースコードは添付されていませんでした.また,データベースの機能も実装されていませんでした.Community Edition はそれらの機能を実装しています.64 ビット Windows, macOS, iOS, Android 用アプリの開発も可能になりました.
機能的な制限はほとんどありませんが,利用形態に制限があります.
製品版の Delphi は異なるバージョンを同じコンピュータにインストールして,混在した状態で使用することができますが,Stater Editon あるいは Community Edition は異なるバージョンを混在させることはできません.
Delphi も C++Builder も,同じバージョンの異なる Edition を同じコンピュータに同時に混在する形でのインストールはできません.したがって,Community Edition も,同じバージンの他の Edition を同じコンピュータにインストールして同時に利用することはできません.
下図は筆者の Windows 7 の [スタートメニュー] の画面です.
Delphi 10 Seattle 試用版, Delphi 10.1 Berlin Starter, Delphi 10.2.3 Tokyo Community の順にインストールしています.Delphi 10 Seattle 試用版と Delphi 10.1 Berlin Starter をアンインストールしないで,インストールしましたが,使用可能なのは Delphi 10.2.3 Tokyo Community だけとなっています.Delphi 10 Seattle 試用版, Delphi 10.1 Berlin Starter は自動的に削除され,(空) として残っています.
Delphi 10.2.3 Tokyo Community
は,新規にライセンスを取得してインストールします.
下図の Delphi XE, Delphi XE4, Delphi XE7 は Professional Edition です.したがって,普通に使用可能となっています.
図1
使用可能な Delphi のバージョン
Community Edition のライセンスの有効期間は 1 年間です.引き続き利用するには再度ライセンスを取得する必要があります.ライセンスの再取得の際は,最新バージョンの Community Edition をインストールすることになります.
Community Edition のその他の内容については以下の記事等を参考にしてください.
[備考 1]
本ページの一部は,以前の無料版の Delphi である Starter Edition の記事となっています.
[備考 2]
ダウンロード可能な Community Edition のバージョンは時期によって違います.
2018年07月23日現在の時点では Delphi 10.2.3 Tokyo です.なお,Starter Edition の新規ダウンロードはできません.
[備考 3]
Delphi には,Delphi 6 Personal 版 (2001年 ~ ) と Turbo Delphi Explorer (2006年 ~ 2008年) という無料版がありましたが, 2016年09月27日現在,これらは提供されていません.
[備考 4]
純粋な意味での無料版ではありませんが,製品版の Delphi 購入者は Delphi 7, Delphi 2007 と 1 つ前までのバージョンの Delhpi を無料で入手することができます.ただし,入手してインストール可能なのは製品購入後 180 日以内という制限があります.
01_ Delphi の無料版 の入手には EDN のアカウントが必要
無料版の Delphi をダウンロードするには EDN ( Embarcadero Developer Network ) のアカウントが必要です.まだ EDN に登録していない場合は EDN の登録をします.
EDN への登録はダウンロードのページからもできますが,以下のページでも登録できます.こちらの方が入力しやすいようです.[EDN アカウントのメンテナンス] の記事に各入力項目についての説明があります.
登録した EDN アカウントの情報を変更あるいは修正するには,取得済みの EDN アカウントでログオンして編集します.上の [EDN アカウントのメンテナンス] の記事を参考にしてください.以下のリンクは EDN のアカウントのログイン情報,あるいはアカウント情報の編集ページへの直接リンクです.ログインしていない場合はログイン画面が表示されます.
3 番目のリンクは EDN 関係サービスの概要についての説明です.
02_ EDN のアカウントでログインしてダウンロード
EDN のアカウントの登録したら,以下のリンクをクリックします.ログイン画面兼用のダウンロード用のページです.
EDN のアカウントを取得していない場合は,このページが EDN アカウントの登録兼用の画面となります.必要な項目を入力してください.個人ユーザの場合,会社名には個人名でも入力してください.前述の EDN アカウントの登録ページの場合は,会社名,個人の選択肢があります.
ダウンロードすると,登録したメールアドレスにメールがすぐに送られてきます.そのメールにはインストールに必要な [インストール番号] (シリアル番号) が記載されています.
ここでダウンロードするファイルは,Delphi そのものファイルではありません.インストール用のプログラムです.実際のインストールは設定した内容に応じてインターネットから必要なファイルをダウンロードしながら実行されます.このプログラムはその操作用のプログラムです.
図2
EDN アカウントでログイン
左の画像をクリックしてダウンロードのページに移動
メールアドレスとパスワードを入力する
[私はロボットではありません] をチェックする
[今すぐダウンロード] をクリックする
図3
ダウンロード画面の例
ダウンロードした exe ファイルを実行するとインストール開始となります.[Serial Number] には,メールで送られてきた [インストール番号] を入力します.
プログラム言語のインストールが初めての方や Delphi が初めての方はインストールすべき機能の選択に迷うかも知れませんが,機能名等から判断してください.あるいはネット上の情報を調べるのもいいかも知れません.
インストールの作業中は,インストール中に現れるダイアログが隠れないように,他のアプリを閉じておくか最小化しておくことをお勧めします.全ての機能をインストールすると,かなりの時間がかかります.
実際のインストールの手順が以下の記事にあります.新規に EDN のアカウントを取得した場合,あるいは Delphi
の Starte Editon がインストールされていない場合とでは多少の違いはありますが手順としてはほとんど同じです.
試用版や Starter Edition をインストールしたことがある環境にインストールする時は,以下の記事の最後の方の [ハマリどころ ...] あるいは [ハマった時は ...] を一読してください.
[備考]
どういうわけか,筆者はインストール時のトラブルを経験したことがほとんどありません.
当サイトにはトラブル関係の記事もありますが,それらはトラブルが発生する状況を推測してテストしています.
04_ Delphi 10.1 Berlin Starter でデータベース接続
Community Edition が提供される前の Delphi の無料版である Starter Edition にはデータベースの機能は実装されていません.ZeosLib をインストールすると,Starter Edition でも各種データベースへの接続が可能になります.
以下の記事に ZeosLib のインストールと簡単なテストプログラムを掲載しています.
[備考]
上のリンクの記事を読めば分かることですが,Starter Edition では,TDBGrid 等のデータベース関係のコントロールが使えます.しかも Starter Edition はユニコード版です.
Delphi 6 Personal 版 でも ZeosLib をインストールすればテータベースが使えるようになりますが,TDBGrid 等のデーベース用のコントロールは使えません.
Community Edition にも ZeosLib をインストールすることができますが,Community Edition にはデータベース接続用の FireDAC が実装されています.
05_ Delphi / C++Builder のチュートリアルシリーズ
2016年12月10日現在,Starter Edition を対象としたチュートリアルシリーズの動画が配信されています.以下のリンクをクリックして申込むと視聴できます.
[備考]
チュートリアルシリーズでは Delphi の IDE を管理者権限では起動していませんが,当サイトでは Delphi を管理者権限で起動することを前提にして記事を書いています.これは,コンポーネントのインストール等で問題が発生する場合があるからです.
図4
チュートリアル動画の視聴申し込み
視聴を申し込むと,メールが届きます.メール本文に以下のようなリンクが記載されています.このアドレスにアクセスすると,その下の図のようなウェブページが表示され,過去のチュートリアルシリーズの動画も観ることができます.
図5
動画のアドレス
図6
動画のページ
Delphi には,開発の基本的な骨組みとしてのフレームワークが 2 つあります.1 つは VCL を使用した VCL フォームアプリケーション開発用,もう 1 つは FireMonkey (ファイアーモンキー) というフレームワークです.
下図は
VCL フォームアプリケーション開発環境の IDE 画面です.
VCL は,Delphi の初期から提供されている関数類やコンポーネント類等のコードの総称です.VCL では Windows で動作するアプリケーションだけが開発できます.
当サイトの記事は,ごく一部を除いて全てこの VCL を使用した VCL フォームアプリケーションを対象とした内容となっています.
[備考]
32 ビットの Windows では 64 ビットのアプリは作成できません.
図7
VCL フレームワーク (Delphi 10.2.3 Tokyo Community の IDE 画面)
[ファイル] [新規作成] から [VCL フォームアプリケーション - Delphi] を選択した結果
これを設計時画面 (IDE 画面) と言う
リスト1
VCL フォームアプリケーションの新規作成時のコード
Winapi, System, Vcl 等のユニットスコープ名は省略できる
copy code
unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs;
type
TForm1 = class (TForm)
private
{ Private 宣言 }
public
{ Public 宣言 }
end ;
var
Form1: TForm1;
implementation
{$R *.dfm}
end .
64 ビットの EXE を作成するには,ターゲットプラットフォームを下図の操作で追加します.
64 ビットの EXE は 64 ビットの Windows だけで動作します.32 ビットの EXE は 32 ビット,64 ビットどちらの Windows でも動作します.
図8
[プロジェクトマネージャ] の [ターゲットプラットフォーム] でマウスの右ボタンクリック
図9
[OK] をクリック
図10
太字が現在のターゲットプラットフォーム
切り換えるには項目をダブルクリックする
または,項目を選択して,そのポップアップメニューで [アクティブ化] を選択する
あるいは [アクティブなプラットフォームを設定] のアイコン (右端) から選択する
07_ Delphi のフレームワーク - FireMonkey
下図は FireMokey アプリ開発の IDE 画面です.
FireMonkey は Mac (OS X), Windows, iOS, iPhone, Android 等で共通に使用できる,いわゆるマルチデバイス対応 (クロスプラットフォーム) のアプリケーション開発用です.
FireMonkey は,印刷関係を含めて,描画関係の処理が VCL とは違います.グラフィックス関係の処理機能が大幅に強化されています.
FireMonkey でも Windows 用のアプリケーションの開発ができますが,Windows 特有の機能を使用する場合は VCL の方が有利かも知れません.
[備考 1]
VCL 専用のユニットやコンポーネントを FireMonkey アプリケーションの開発で使用することはできません.その逆も同じです.
VCL アプリでも FireMokey アプリでも共通に使用可能なユニットはあります.RTL (Delphi ランタイムライブラリ) と呼ばれる基本的なユニット類は,VCL アプリでも FireMonkey アプリのどちらでも利用できます.
図11
FireMonkey フレームワーク (Delphi 10.2.3 Tokyo Community の IDE 画面)
起動直後の Delphi で
[マルチデバイス アプリケーション (Delphi) の新規作成] を選択
次に [空のアプリケーション] を選択した結果の画面
リスト2
FireMonkey アプリケーションの新規作成時のコード
FireMonkey 用のユニットには FMX というユニットスコープ名が付いている
copy code
unit Unit1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs;
type
TForm1 = class (TForm)
private
{ private 宣言 }
public
{ public 宣言 }
end ;
var
Form1: TForm1;
implementation
{$R *.fmx}
end .
ターゲットプラットフォームは下図のように選択方式になっています.太字の項目が現在のターゲットプラットフォームです.操作用のアイコンでも選択状態にできますが,該当項目のダブルクリックでも選択状態にできます.下図では 32 ビットの Windows で動作するアプリケーションがターゲットになっています.
この図は FireMonkey の場合です.VCL の場合は [32 ビット Windows] と [64 ビット Windows ]
の選択肢しかありません.
[備考 2]
macOS, iOS (iPad, iPhone), Android 用アプリの開発にはそれらの実機が必要です.
実機が接続されていない状態の Windows 上でそれらのバーチャルマシンが構成されて動作するわけではありません.iOS 用アプリの開発には macOS のコンピュータ (マック) も必要です.
[備考 3]
32 ビットの Windows では 64 ビットのアプリは作成できません.
図12
ターゲットプラットフォームの選択
Delphi を使用するのが初めての方は,前述のチュートリアルシリーズのビデオが参考になります.視聴の手続きがあり多少面倒ですが,大変役に立ちます.
ネット上の記事としては,以下の解説記事があります.3 番目のリンクの記事からは,プログラムのソースコードがダウンロードできます.
ネット上には多くの記事やサンプルコードがありますが,ほとんどが VCL 関係です.また,Delphi 2007 以前のサンプルコードでは修正が必要な場合があります.ただし,ネット上の記事には Delphi のバージョンや掲載日付の記述がない場合があります.
当サイトの Delphi 関係の記事やサンプルは,VCL 限定で,基本的にプログラムの入門者や初心者用の内容とはなってはいませんが,以下の記事が参考になるかも知れません.
Delphi 2009 では全面的にユニコード化され,文字列に対する機能も豊富になり便利になりました.
その反面,Delphi 2007 以前のコードを Delphi 2009 以降で利用する際に,文字列関係とポインタ関係の操作コードを修正する必要となることがあります.文字列を扱うコード全ての変更が必要となるわけではありません.
Delphi 2007 以前で String 型の変数を定義すると,それは Ansi (Shift-JIS) の文字列として扱われます.Delphi 2009 以降で String 型の変数を定義すると,それは Unicode (UTF-16) の文字列として扱われます.
Windows API の関数類や C, C++ の文字列は,文字列の最後を意味する文字が null (#0) 文字である null 終端文字列と呼ばれている文字列です.Delphi で null 終端文字列を使用するには,主にそのポインタ型である PChar を使用します.
Delphi 2007 以前の PChar 型は PAnsiChar 型と同じ意味で,これは Ansi の null 終端文字列を意味します.Delphi 2009 以降の PChar 型は Unicode の null 終端文字列となります.
PChar 型は null 終端文字列のポインタです.Delphi 2007 以前では PChar を null 終端文字列以外のオブジェクトのポインタとして使用しているコードがありますが,Delphi 2009 以降ではそのような使い方はできません.修正が必要です.
[備考 1]
Delphi 2007 以前では 1 バイトが半角文字,2 バイトは全角文字と判定して処理しているコードがあります.Delphi 2009 以降では文字列の操作は文字通り「文字単位」で操作します.
[備考 2]
Delphi 2007 以前のバージョンの Delphi とは,Delphi (Delphi 1), Delphi 2, Delphi 3 / 3.1, Delphi 4, Delhi 5, Delphi 6, Delphi 7, Delphi 2005, Dephi 2006, Delphi 2007 のことです.
これらを非ユニコード版の Delphi あるいは Ansi 版の Delphi と言います.
10_ Delphi の IDE は管理者権限で起動できるようにしておく
Delphi (Delphi の IDE) は管理者権限で起動するようにしておく方が確実です.
管理者権限なしてコンポーネントのインストールやタイプライブラリの取り込みを行うと失敗することがあります.また,たとえエラーが発生しなくても正常にインストールできないことがあります.
管理者権限で起動した IDE から実行した EXE は管理者権限での実行となります.作成した EXE は,エクスプローラの EXE ファイルを直接起動してテストすることが必要です.
当サイトの記事は,Delphi を管理者権限で起動することを前提にした内容となっています.