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

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

FireDAC への移動


このトピックでは、FireDAC アプリケーションでの TFDGUIxWaitCursor コンポーネントと TFDPhys*DriverLink 系コンポーネントの使用について説明します。

概要

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

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

IFDGUIxWaitCursor インターフェイス

FireDAC では、IFDGUIxWaitCursor インターフェイスを使用してエンド ユーザーにフィードバックを提供しています(砂時計形のカーソルを使用)。

TFDGUIxWaitCursor コンポーネントを使用すると、アプリケーションに IFDGUIxWaitCursor インターフェイス実装を追加できます。この実装は FireDAC アプリケーションには必須です。

TFDGUIxWaitCursor の Provider プロパティにより、ユーザーは GUIx コンポーネントの実装を選択できます。

説明

Forms 

FireDAC.VCLUI.Wait ユニット内の VCL ベースの実装(Object Pascal/Appmethod C++ の場合)。

FMX 

FireDAC.FMXUI.Wait ユニット内の FireMonkey ベースの実装(Object Pascal/Appmethod C++ XE2 以降の場合)。

Console 

FireDAC.ConsoleUI.Wait ユニット内のコンソール ベースの実装。


設計時に Provider プロパティを設定しフォームを保存すると、対応する実装ユニットがフォームの uses セクションに自動的に追加されます。 実行時には、対応する実装ユニットを uses セクションに手動で追加する必要があります。対応する実装がアプリケーションにリンクされていない場合は、例外が発生します。

FDGUIxWaitCursor.png

メモ: この例外メッセージでは、標準のインターフェイス実装をリンクするためにプロジェクトに組み込む必要があるユニットを指定しています。

Provider プロパティの値が変更された場合、ユーザーは、古い Provider 値に対応する実装ユニットを uses セクションから削除する必要があります。たとえば、Forms から FMX に切り替えるには、FireDAC.FMXUI.Wait ユニットを削除する必要があります。

Provider プロパティのデフォルト値は、FireMonkey ベースのアプリケーションの場合は FMX、Windows コンソール アプリケーションの場合は Console、それ以外の場合は Forms です。

IFDPhysDriver インターフェイス

FireDAC ドライバは IFDPhysDriver インターフェイスを実装しています。これらのドライバは DriverID パラメータで識別されます。

さまざまな TFDPhys*DriverLink コンポーネントを使用すると、IFDPhysDriver インターフェイス実装をアプリケーションに追加できます。この実装は FireDAC アプリケーションには必須です。

TFDPhysDriverLink コンポーネントは、あらゆるドライバ リンク コンポーネントの基底クラスです。TFDPhysDriverLink には以下の機能が実装されています。

  • FireDAC DBMS ドライバをアプリケーションにリンクします。
  • VendorHome プロパティ、VendorLib プロパティ、Release メソッドを使って、実行時に FireDAC DBMS ドライバを構成できます。
  • DriverIDBaseDriverIDActualDriverID の各プロパティを使って、実行時に FireDAC 仮想ドライバを作成できます。
  • DriverIntfDriverStateOnDriverCreatedOnDriverDestroying の各プロパティを使って、FireDAC ドライバ API やライブ サイクルにアクセスできるようにします。
  • ServicesServicesCount の各プロパティを使って、FireDAC DBMS 固有のサービスを管理します。

アプリケーションで TFDPhysDriverLink コンポーネントを直接使用しないでください。ただし、TFDPhysDriverLink の多数の下位コンポーネントのいずれか(たとえば以下など)を使用することはできます。

TFDPhysIBDriverLink コンポーネントをアプリケーションに追加して変更内容を保存すると、FireDAC.Phys.IBBase ユニットと FireDAC.Phys.IB ユニットがフォームの uses セクションに自動的に追加されます。 これらのユニットは IB ドライバに必須のもので、アプリケーションに必ずリンクする必要があります。そうでなければ、次のような例外が発生します。

PhysIBDriverLink.png

メモ: この例外メッセージでは、標準のインターフェイス実装をリンクするためにプロジェクトに組み込む必要があるユニットを指定しています。

関連項目