これで完成です。コードは次のようになります。(ToDoコメントは削除しています。)
program Project1; uses Windows; begin MessageBox(0, 'Hello World!', 'Project1', MB_OK); end.
完成したらF9キーでコンパイルして実行してみましょう。
これでもれっきとしたWin32GUIアプリケーションです。
完成した実行バイナリは管理人の環境では8KBでした。
systemユニットを入れ替えてさらに小さくするテクニックです。
このように指定すればVCLを使うときやデバッグの時などは、上下矢印ボタンを使って「$(DELPHI)\Lib」が上に来るようにするだけで、既定のsystemユニットを使うようにできます。
設定後、同様にコンパイルします。実行バイナリのサイズは管理人の環境では6KB弱になりました。
Delphiプログラマーにはおなじみのツール、UPXを使ってバイナリサイズを圧縮します。
Ultimate Packer for eXecutables Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002 UPX 1.24w Markus F.X.J. Oberhumer & Laszlo Molnar Nov 7th 2002 File size Ratio Format Name -------------------- ------ ----------- ----------- 5632 -> 3584 63.63% win32/pe Project1.exe Packed 1 file.
UPXが実行されて上のようなメッセージが表示されます。
管理人の環境では圧縮後、実行バイナリのサイズは4KB弱になりました。
比較のため、同様の実行バイナリをVCLを使って作ってみます。
program Project1; uses Dialogs; begin ShowMessage('Hello World!'); end.
上のコードをコンパイルします。
実行バイナリのサイズは管理人の環境では397KBにもなりました。