チュートリアル:[HD FireMonkey アプリケーション]で FireDAC を使用する

提供: Appmethod Topics
移動先: 案内検索

チュートリアル への移動

このチュートリアルでは、Windows や Mac で FireDAC フレームワークを使って、InterBase ToGo が管理するデータを閲覧するための基本手順を説明します。

ヒント: このチュートリアルを実行するには、IBToGoライセンスが必要です。トライアル版を使用していて、Mac 上で InterBase をテストしたい場合には、トライアル期間中、IBToGo テスト配置ライセンスを使用することができます。配置トライアル ライセンスを有効にするには、リンクをたどって InterBase ToGo 配置にアクセスしてください。

FireDAC を使用してデータベースに接続する

FireDAC は、Object Pascal、C++Builder、FreePascal でクロスプラットフォーム データベース アプリケーションを開発するための、他に類を見ない汎用データ アクセス コンポーネントです。 FireDAC を使用すると、その強力な共通アーキテクチャのため、Object Pascal から InterBase、SQLite、MySQL、SQL Server、Oracle、PostgreSQL、IBM DB2、SQL Anywhere、Access、Firebird、Informix などに高速かつ直接にネイティブ アクセスすることができます。

FireDAC InterBase ネイティブ ドライバでは、Embarcadero InterBase の Server、Desktop、Developer、ToGo の各エディションおよび IBLite のバージョン 6 以降をサポートしています。

  • Windows 上で Interbase ToGo が管理するデータを FireDAC を使って閲覧するには、以下の x86 または x64 クライアント ソフトウェアがワークステーションにインストールされている必要があります。
    • IBTOGO.DLL: 組み込み型の InterBase ToGo または IBLite を使ったデータベースを x86 アプリケーションから操作するためのライブラリ
    • IBTOGO64.DLL: 組み込み型の InterBase ToGo または IBLite を使ったデータベースを x64 アプリケーションから操作するためのライブラリ
  • Mac OS X 上で Interbase ToGo が管理するデータを FireDAC を使って閲覧するには、x86 組み込み型 InterBase の libibtogo.dylib が必要です。

ユーザー インターフェイスを設計しセットアップする

新しいプロジェクトを作成します。[HD デスクトップ アプリケーション]を選択します。

  1. TFDConnection コンポーネントをフォームにドロップします。
  2. TFDConnection コンポーネントを右クリックし、[接続エディタ...]を選択します。
  3. [FireDAC 接続エディタ]で、TFDConnection のパラメータを以下のように設定します。
    1. [ドライバ ID]プロパティを IB に設定します。
    2. [Database]パラメータを C:\Users\Public\Documents\Appmethod\12.0\Samples\Data\EMPLOYEE.GDB(データベースの場所)に設定します。
    3. [User_Name]パラメータを sysdba に設定します。
    4. [Password]パラメータを masterkey に設定します。
      ConnectionEditor2.png

    5. [テスト]ボタンをクリックして、接続をテストします。
      TestConnectionSuccess.png

    6. [OK]をクリックして、[FireDAC 接続エディタ]を閉じます。
  4. [オブジェクト インスペクタ]で、TFDConnection のプロパティを次のように設定します。
    1. LoginPrompt プロパティを False に設定して、ユーザーにログインを求めるプロンプトを表示しないようにします。
    2. Connected プロパティを True に設定します。

[LiveBinding ウィザード]を使用する

[LiveBinding ウィザード]を使用して、LiveBinding コンポーネント(TBindSourceDBTBindNavigator)や TFDQueryグリッド コンポーネントを追加することができます。

LiveBinding コンポーネントを追加する

  1. [表示|LiveBinding デザイナ]を選択して[LiveBinding デザイナ]を開きます。
  2. [LiveBinding ウィザード...]LBDLiveBindingsWizard.png)を選択します。
    SelectLiveBindWizard.png

  3. ウィザードの[バインディング タスク]ページで[データ ソースの作成]を選択し、[次へ >>]をクリックします。
  4. [データ ソース]ページで FireDAC を選択し、[次へ >>]をクリックします。
  5. [コマンド タイプ]Query に変更します。
  6. [コマンド テキスト]プロパティを select * from employee に設定します。
    LiveBindingWizard.png

  7. [コマンドのテスト]ボタンをクリックします。
  8. [次へ >>]ボタンをクリックします。
  9. [データ ソース ナビゲータを追加]を選択します。
  10. [完了]ボタンをクリックします。

この時点で、TBindSourceDBTBindNavigatorTFDQuery の各コンポーネントがフォームに追加されています。

グリッド コンポーネントを追加する

  1. [LiveBinding ウィザード]をもう一度開きます。
  2. [グリッドをデータ ソースとリンク]バインディング タスクを選択します。
    LinkGrid.png

  3. [次へ >>]ボタンをクリックします。
  4. TSringGrid を選択します。
  5. [次へ >>]ボタンをクリックします。
  6. BindSourceDB1 を選択します。
  7. [完了]ボタンをクリックしてウィザードを閉じます。

この結果、バインディング図は次のようになります。
Diagram.png

実行時用にアプリケーションを準備する

FireDAC は疎結合の多層アーキテクチャを備えており、各レイヤでサービスが提供されます。それぞれのサービス API は、他のレイヤからインターフェイス ファクトリを使って要求できる COM インターフェイスとして定義されています。

FireDAC を適切に動作させるには、IFDGUIxWaitCursor インターフェイスと IFDPhysDriver インターフェイスの実装をアプリケーションにリンクする必要があります。

  1. NavigatorBindSourceDB1 を選択し、Align プロパティを Top に設定します。
  2. StringGridBindSourceDB1 を選択し、Align プロパティを Client に設定します。
  3. TFDGUIxWaitCursor コンポーネントと TFDPhysIBDriverLink コンポーネントをフォームにドロップします。
    FormComponentsAdded.png

アプリケーションを Mac OS X に配置する

ここまでは、デスクトップで InterBase を使用してきました。つまり、実際のデータベースは、ローカルのハード ディスク ドライブ上(C:\Users\Public\Documents\Appmethod\12.0\Samples\Data\EMPLOYEES.GDB など)にあります。アプリケーションを Mac OS X に配置するには、データベース ファイルを Mac OS ファイル システム(/Users/<ユーザー名>/EMPLOYEE.GDB など)にコピーする必要があります。また、Interbase ToGo ファイルも Mac OS X に配置しなければなりません。

Interbase ToGo を Mac OS X に配置する

  1. [プロジェクト|配置]を選択して配置マネージャを開きます。
  2. 配置マネージャの上部にあるターゲット プラットフォームのドロップダウン リストから[すべての構成 - OS X プラットフォーム]を選択します。
  3. [機能ファイルの追加]DMgrAddFeatFiles.png)を選択します。
    AddingFeaturedFiles.png

  4. Interbase ToGo のデータベース モジュールを選択し、[OK]をクリックして[機能ファイル]ダイアログ ボックスを閉じます。
    FeaturedFilesOSX.png

    Embarcadero から ToGo 用に reg_nnnnnnn.txt というパターンのライセンス ファイルを受け取っているかもしれません(nnnnnnn は生成された数値)。
    • このファイルを以下の場所(たとえば C:\Users\Public\Documents\InterBase\redist\InterBaseXE3 など)に reg_ibtogo.txt として保存している場合には、必要なライセンスを選択するだけでかまいません。
    • ファイルを元の名前で保存している場合には、[ファイルの追加]を選択し、アプリケーションと一緒に配置する必要のあるファイルのリストにライセンス ファイルを追加してください。

Mac OS X 上のデータベース ファイルに接続するようコードを変更する

前のステップで説明したように、TFDConnection コンポーネントは Windows 上のデータベースに接続されています。そのため、データベースに接続する前にファイルの場所を置き換える必要があります。手順は以下のとおりです。

  1. フォーム デザイナで FDConnection1 コンポーネントを選択します。
  2. [オブジェクト インスペクタ]で BeforeConnect イベントの値のフィールドをダブルクリックします。
  3. このイベント ハンドラに次のコードを追加します。
procedure TForm9.FDConnection1BeforeConnect(Sender: TObject);
begin
{$IFDEF MACOS}
  FDConnection1.Params.Values['Database']:= '$(DOC)/EMPLOYEE.GDB';
{$ENDIF}
end;

この $(DOC)パス変数で、パス式を簡単に記述するために役立ちます。Mac OS X では、$(DOC) はユーザーのホーム ディレクトリ(/Users/<ユーザー名>)を示します。

Windows および Mac OS X 上でアプリケーションを実行する

これでアプリケーションを実行する準備が整いました。IDE 内で実行したときと同様に、データを閲覧することができるはずです。また、TBindNavigator コンポーネントを使ってデータベースのレコードを変更することもできます。

アプリケーションを実行するには:

  1. [プロジェクト マネージャ]でターゲット プラットフォームを選択します。
    ProjectManagerSelectTarget.png
  2. 次のいずれかのコマンドを選択します。
    • [実行|実行]
    • [実行|デバッガを使わずに実行]

RunTimeMac.png

関連項目