2.1 Delphiアプリケーション作成についての基礎知識

作る事が出来るアプリケーションの種類

Delphiを起動

メニューから、「ファイル」→「新規作成」→「その他」を選びます。
以下の画面が表示されます。以下の種類のアプリケーションを作成できます。

Androidサービス

Windowsで言うところの「常駐アプリ」の様なものです。見た目(ユーザーインターフェース又は画面)が無く、ずっと実行され続ける(バックグラウンドで動くとも言います)性質のアプリです。それを作る事が出来ます。画像はAndroid Serviceを新規作成した時の画面。見た目が無いので、フォームも当然表示されません。

Fire Monkey Metropolis UIアプリケーション

Fire Monkeyコンポーネントを使って、Windows8の見た目や動きにそっくりなアプリケーションを作る(Windows8のルックアンドフィールに準拠している、とも言います)事が出来ます。この機能の面白い点として、Windows8以外のWindowsであっても、Windows8の見た目になります。

VCL Metropolis UIアプリケーション

Delphiの伝統的なVCLコンポーネントを使って、Windows8の見た目や動きにそっくりなアプリケーションを作る事が出来ます。(Windows8のルックアンドフィールに準拠している、とも言います)
この機能の面白い点として、Windows8以外のWindowsであっても、Windows8の見た目になります。

VCLフォームアプリケーション

Delphiの伝統的なアプリケーションを作る手法。VCLとはVisual Component Libraryの略。初代Delphiから脈々と続く手法であるため、過去に発売されたDelphiの書籍やインターネット上の過去の資産を活用しやすいのが特徴。但し、このVCLは初代から現在のバージョンに至るまで、様々な改良や修正が加えられているので、過去のバージョンがそのまま直ぐに動くとは限りません。(余談ではありますが、これは他の言語にも言える事で、Delphiに限った事ではなく、セキュリティ上の対策や、機能向上の為に変更や改良、廃止があることは、珍しいことではありません)

MDIアプリケーション

論より証拠で、見た方が理解は早いと思います。下の画面を見てください。背景はDelphi、前面はMDIアプリケーションを新規作成して、実行したところです。因みに、一行も書いていないし、何の設定もいじっていません。でもこれだけの事が出来ます。この画面まで、まっさらなフォームからも作れますが、時間は当然消費するし、最初からあるのなら、当たり前ですが使った方がいいです。但し、勉強の為なら、このまっさらのMDIを調べて、自分で再現してみると、初歩のうちは大変勉強になります。

SDIアプリケーション

これも論より証拠で、見た方が理解は早いと思います。同じく下の画面を見てください。最初から、コンポーネントが配置してあり、お膳立てがされてあります。MDIの時程至れり尽くせりではないですが、この後やることは、フォームを新規に追加して、フォームを呼び出す処理を書いてあげるだけでいいのです。最初は、SDIから入るのは難しいかもしれないでしょう。しっかりお膳立てされたMDIをマスターして、そのMDIを再現できるようになり、意味も理解出来たら、SDIに進むといいでしょう。そうすれば、お膳立ての効いたDelphiの良さが判る様になると思います。

コンソールアプリケーション

下の画面を説明していきます。
以下のプログラムの文(命令文)を書きました。
そして実行したのが、下記の画面です。真っ黒い画面に、「Hello, World!」と表示されていると思います。
これがコンソールアプリケーションというものです。このコンソールアプリケーションには、特に意識してコードを書かない限り、オブジェクト指向ではなく、それ以前の時代の書き方になります。つまり、上から始まって、下に流れ、一番最後の命令文が終わると、有無を言わさず、アプリケーションは終了してしまいます。
この例でいうと、「sleep(50000);」が実行され、50000マイクロ秒経過したら、アプリケーションは終了してしまいます。
それがコンソールアプリケーションが持つ、他のアプリケーションとの最大の違いであり、特徴です。
ソース1

コントロールパネルアプリケーション

これはちょっと特殊かもしれません。平たく書くと、コントロールパネルの機能を作ります。初心者向けでは確実にないです。画面はコントロールパネルアプリケーションの初期状態のコードエディタの画面です。

サービスアプリケーション

バックグラウンドで(常駐して継続的に)実行されるアプリケーションを作成します。

ダイナミックリンクライブラリ

ダイナミックリンクライブラリ(DLL)を作ります。これ単体は実行可能アプリケーションではなく、拡張子も.dllになります。「ダイナミック」に、アプリケーションに「リンク」する「ライブラリ」と考えると分り易いかも。その名の通りです。アプリケーションの機能を拡張出来るライブラリを作れます。

パッケージ

コンポーネントをパッケージにします。作るよりも、恐らく使う事の方が多いかもしれません。今はそういう機能もある、といった程度に捉えて置くだけでいいかと思います。コントールパネルアプリケーション、サービスアプリケーション、ダイナミックリンクライブラリ、パッケージ、が作れるようになったら、立派な上級者の仲間入りでしょう。

マルチデバイスアプリケーション

これこそが、例のFire Monkeyです。

ある意味、XE2以降のDelphiの最大の売りといっても過言ではないでしょう。個人的意見で恐縮ではありますが、プライベートで使うならば、使わなければ損!と思っております。その最大の売りは、ユニークで個性的なコンポーネント群と美しくそして非常に強力な描画機能を持っている点でしょう。

Fire Monkeyの特筆すべき点はマルチデバイス対応もさることながら、「Shapes」グループ等に属する、風変わりで、そして強力なコンポーネント達です。Fire Monkeyは、VCLとは全く異なるアーキテクチャの様です。その顕著な証明として、2Dグラフィックスアプリケーションを、いとも簡単に作れてしまう事です。それもコーディング作業、つまりコードを殆ど書く事もなく(!)。これは驚異的なことであると考えております。Delphiは、C++と同列に分類できる、ネイティブコンパイラ(ソースコードをアプリケーションに変換すると、コンピュータが理解し易い機械語に翻訳され、高速に動作する仕組みのアプリの事)です。そして統合開発環境でもあり、潤沢な機能とコンポーネントを搭載しています。そこに非常に高機能な2Dや3Dの開発機能が(しかも標準で)備わっているのです。

タグ: , , , ,