|
Delphi Programming / Object Pascal
[掲載 2016年01月28日] [更新 2018年09月17日] Delphi 一般・その他 |
EXE ファイルができる場所とビルド構成 |
動作確認等 |
Windows 7 U64(SP1) + Delphi 7, Delphi XE(UP1) Pro, Delphi XE5(UP2) Pro |
Delphi の IDE を起動して,新規に [VCL フォームアプリケーション] を作成します.これを [F9] でコンパイルするとプログラムが実行されます.この時,プロジェクト関係のファイルは,EXE ファイルを含めて下図の場所に上書き保存されます.
この場所は,[ファイル] [プロジェクトに名前を付けて保存] で現れる保存ダイアログで選択されるフォルダ [Projects] です.保存ダイアログの [ファイルの種類] を [全てのファイル (*.*)] にすれば全ての種類のファイルを表示することができます.
この場所に一時的に上書き保存されます.意識的に保存しない限り,これらのファイルは IDE を閉じると自動的に削除されますが,IDE が正常に終了しなかった場合,それらのファイルが残されたままになることがあります.
新規に作成したプロジェクトは,通常は,この場所以外の既存のフォルダか,フォルダを新規に作成してそこに保存します.当然ですが,システム関係のフォルダの階層下や [Program Files] ([Program Files (x86)]) 等の階層下には保存しないようにします.
|
[備考]
プロジェクトやユニットをデフォルトの保存先に保存てしてしまうと,次回の IDE 起動後に新規作成したプロジェクトやフォームの名前が Project2, Form2, Unit2 になったりします.新規に作成する時は新しい名前が付けられるためです.
この現象を回避するには,[プロジェクトに名前を付けて付けて保存] をクリックした時に表示されるフォルダで,下図のように [すべてのファイル] を表示して,[Projects] フォルダ内のフォルダとファイルを全て削除します.そして,プロジェクトを保存しないで IDE を終了し,再度起動すれば Project1 等のデフォルトの名前になります.
|
|
図1
プロジェクトのデフォルト保存先は [Projects] 階層下
|
02_実行とコパイルとプロジェクトのビルド ( 再構築 ) |
プロジェクトから実行形式の EXE を作成,または再生成するには [F9] キーを押下します.[F9] を押下すると,主に,変更さ
れたユニットたけをコンパイルして,そのユニットのコンパイル済み .dcu ファイルを再生成して EXE を作成します.そしてその EXE を起動します.
[Shift] + [F9] の操作では,プロジェクトのビルド (再構築) が行われ,使用しているユニットをコンパイルしてそれらの .dcu ファイルも再生成します.このビルド (再構築) は,リソース等の変更,使用しているコンポーネントに変更があった場合,あるいは他のバージョンの Delphi で作成されたプロジェクトを使用する場合等に実行します.
Delphi のプロジェクトファイルの拡張子は .dpr
と .dproj, .proj
のどちらかです.このどれかを IDE で開きます.筆者はほとんど .dpr ファイルを開いています..dpr はプロジェクトのソースファイルです.他のファイルにはロジェクト関係の設定が XML 形式で記述されています.
古い Delphi には .dproj, proj ファイルはありません.
|
|
図2
[実行 (F9)]
- [実行] すると,変更があったユニットをコンパイルして EXE
を作成して,その EXE を起動する
- [Ctrl] + [F9] は EXE を再生成するが,再生成した EXE は起動しない
- [Shift] + [F9] は変更されていないユニットもコンパイルして EXE を再生成するが EXE は起動しない
(使用しているユニット数が多いと時間がかかる)
|
|
図3
[デバッガを使わずに実行 (Shift + Ctrl + F9)
- コンパイル後に,再生成した EXE を起動する
- ディスク上の EXE の単独機能と同じ
- 主に変更があったユニットだけをコンパイルする
|
Delphi を起動して (Delphi の IDE を起動して),VCL フォームアプリケーションを新規に作成して任意のフォルダに保存します.保存した後,[F9] でプロジェクトをコンパイルすると,EXE ファイルができます.
EXE が作成されて保存される場所は,デフォルトでは下図の場所です.この場所は,次項で説明する [ビルド構成] あるいは [ターゲットプラットフォーム] によって異なります.
下図は,VCL フォームアプリケーションを新規に作成した場合の,デフォルトの保存先です.
新規にプロジェクトを作成した場合,[ビルド構成] は Debug 構成となります.
|
|
図4
Delphi 7 の場合
- プロジェクトの保存先が [D7_Test] の場合
- 保存先フォルダ直下に EXE が保存される
- Delphi 7 にはビルド構成の指定はない
|
|
図5
Delphi XE の場合
- プロジェクトの保存先が [XE_Test] の場合
- EXE とコンパイル済ファイル以外は,ここに保存される
|
|
図6
Delphi XE の EXE のデフォルトの保存先
|
|
図7
Delphi XE5 の場合
- プロジェクトの保存先が [XE5_Test] の場合
- EXE とコンパイル済ファイル以外は,ここに保存される
|
|
図8
Delphi XE5 の EXE のデフォルトの保存先
|
04_ビルド構成とターゲットプラットフォームの切り換え |
[ビルド構成],[ターゲットプラットフォーム] は,[プロジェクトマネージャ] で変更します.[ビルド構成] または [ターゲットプラットフォーム]
を変更すると,EXE は,各々の設定に応じたフォルダ内に作成されます.
Debug 構成,Release 構成の内容と違いについては,下記のリンクの記事で確認してください.
Delphi 6 / 7 等の旧いバージョンの Delphi には Debug 構成,Release 構成の区別はありません.それらのバージョンの Delphi では [プロジェクト] [オプション] で,EXE に含める情報やコンパイル時の条件を設定します.
|
[備考 1]
ビルド構成,ターゲットプラットフォーム,あるいはプロジェクトのオプション等で,コンパイルの動作仕様を変更した場合,一般的にはプロジェクトのビルド(再構築) が必要です.
[Shift] + [F9] でビルド (再構築) できます. |
[備考 2]
アプリの配布は,多くの場合,Release 構成で作成した EXE を配布すると思われますが,Release 構成でのテストも十分に行う必要があります.
また,作成した EXE を直接起動して動作確認を行うことも重要です.IDE 上でコンパイルして実行した場合と,EXE を直接起動して実行した場合とでは,動作が異なることがあります. |
|
図9
Delphi XE の場合
- 現在のプロジェクトでアクティブ,つまり有効な構成は太字
- この図では Debug 構成となっている
- 変更は,該当項目をダブルクリックする
- または,ポップアップメニューから [アクティブ化] を選択する
|
|
図10
Delphi XE5 の場合
- 現在のプロジェクトでアクティブ,つまり有効な構成は太字
- この図では Debug 構成で,ターゲットプラットフォームは 64 ビット Windows.
つまり,64 ビットの EXE が作成される
- 変更は,該当項目をダブルクリックする
- または,ポップアップメニューから [アクティブ化] を選択する
|
Delphi 6 / 7 等,ビルド構成の設定がない Delphi のプロジェクトを Delphi XE 等で開くと,ビルド構成は Debug ですが,以下のプロジェクトのオプションの設定が,Debug のデフォルトの値と異なることがあります. |
[プロジェクト] [オプション] 設定項目 |
Debug 構成のデフォルト |
Release 構成のデフォルト |
[コンパイラ] [最適化] |
false |
true |
[コンパイラ] [スタックフレーム] |
true |
false |
[コンパイラ] [デバック情報] |
デバッグ情報 (true) |
デバッグ情報なし (false) |
[コンパイラ] [デバッグ版 DCU の使用] |
true |
false |
[コンパイラ] [ローカルシンボル] |
true |
false |
[リンク] [デバッグ情報] |
true |
false |
05_サンプルプログラム集の EXE の場所とビルド構成 |
当サイトで提供しているサンプルプログラムは,サンプルの動作をすぐ確認できるように,一部を除いて,EXE ファイルを添付してします.これらのサンプルの EXE ファイルは,プロジェクトの保存先フォルダ直下に,コンパイル済のファイルも含めて保存するようにしています.
プロジェクトを IDE で開くとビルド構成が Debug となっていますが,Debug 構成のデフォルトとは設定内容が異なっています.前項の表で確認してください.
|
|
図11
サンプルプログラム集の場合 |
そのため,[プロジェクト] [オプション] の [ユニット出力ディレクトリ] と [出力ディレクトリ] が下図のように空または . (現在のディレクトリの意味のドット) になっています.必要に応じて変更してください.
これらのデフォルトの値は,VCL フォームアプリケーションを新規に作成して,下図と同じプロジェクトのオプションで確認できます. |
|
図12 |
|