ActiveX の概要
この章では、Pervasive の ActiveX アクセス方法について説明します。以下の項目が含まれます。
ActiveX アクセス方法の概要
Pervasive ActiveX のアクセス方法は、ActiveX をサポートする開発環境で Btrieve データに簡単にアクセスできるようにする 9 個のカスタム コントロールから構成されています。このインターフェイスには、1 個のデータ ソース コントロールと 8 個のバウンド データ コントロールが組み込まれています。
Pervasive PSQL データ ソース コントロールは、アプリケーションと Btrieve データ ファイル間の接続点を提供します。このデータ コントロールはほかのデータ アウェア コントロールのデータ ソースの役割を果たすほか、ファイルのオープン、クローズおよび作成や、レコードの検索、更新および削除など、アプリケーション内のコードからデータにアクセスする際に使用できるプロパティ、メソッド、イベントを公開します。
Pervasive PSQL バウンド コントロールはデータ ソース コントロールに接続する必要があるもので、これらにはデータ アウェア テキスト ボックス、リスト ボックス、コンボ ボックス、チェック ボックス、オプション ボタンの各コントロールが含まれています。リスト ボックス コントロールとコンボ ボックス コントロールは、フィールド バウンド コントロールまたは複数列レコード リスト コントロールとして動作します。コマンド ボタンと水平および垂直スクロール バー コントロールで、インデックス レコードのスクロール操作を行います。
Microsoft Visual Basic では、Pervasive PSQL データ ソース コントロールは、データ アウェア Visual Basic コントロール用およびサードパーティ データ アウェア ActiveX コントロール用のレコード ソースの役割も果たすことができます。
ここでは、以下の項目について説明します。
開発環境
ActiveX のアクセス方法は以下の環境をサポートします。
•Visual Basic 5.0 以降
•Delphi 3.0 以降
•Visual C++ 5.0 以降
•Embarcadero C++ Builder 3.0 以降
メモ: ほかの開発環境やアプリケーションの中には、ActiveX コントロールの拡張機能もサポートするものがあります。ただし、Pervasive Software では、上に示したプログラミング環境、言語またはアプリケーション以外での ActiveX アクセス方法のテストは行っておりません。
サードパーティ データ バウンド コントロール
Pervasive の ActiveX アクセス方法は、Sheridan、APEX、GreenTree および Microsoft のコントロールからデータをバインドできます。Pervasive Software では、Pervasive の ActiveX アクセス方法に書式設定機能やプレゼンテーション機能がないときだけこれらのサードパーティ製品を使用するようにお勧めしています。
Pervasive Software ではサードパーティ ソフトウェアの開発を制御することはできません。したがって、これらのコントロールの機能をすべてサポートするわけではありません。同じ理由から、これらの製品のテクニカル サポートを行っておりません。
メモ: サードパーティ データ アウェア コントロールへのデータ バインドは、Microsoft Visual Basic 以外の環境ではサポートされません。
ActiveX コントロール オブジェクト
以下の表に、ActiveX アクセス方法に組み込まれている ActiveX コントロール オブジェクトを示します。
表 1 組み込まれている ActiveX コントロール オブジェクト
アイコン | コントロール | 説明 |
| VAccess | データ ソース コントロールはアプリケーションのソース コードを提供して、Pervasive PSQL バウンド コントロールがデータ ファイルにアクセスできるようにします。 |
| VACheckBox | チェック ボックスをブール(True/False)型のフィールドにバインドできます。 |
| VAComboBox | データ バウンド コンボ ボックスをレコード内の 1 つのフィールドにバインドすると、そのフィールドの値を所定の値の中から選択できます。このコンボ ボックスは、レコード リスト コントロールや使用可能なインデックス フィールドのリストとしても機能します。 |
| VACommandButton | データ バウンド コマンド ボタンでは、レコードの取得、更新、または削除の操作を行えます。 |
| VAHScrollBar
VAVScrollBar | データ バウンド スクロール バーを使用すると、インデックス パスに沿ってレコード内をスキャンできます。 |
| VAListBox | リスト ボックス コントロールを使用すると、所定の値セットの中からフィールドの値を選択できます。このコントロールは、複数列のレコード リスト コントロールとしても機能します。 |
| VAOptionButton | オプション ボタンをブール(True/False)型のフィールドにバインドできます。 |
| VATextBox | データ アウェア テキスト ボックスでは、あらゆるフィールドの変更を受け入れ、自動的に表示できます。また、このボックスを検索モードで使用すると、テキストが入力されるにつれて、ファイルから一致するレコードを捜し出すことができます。 |
ActiveX アクセス方法の選択
ActiveX は Microsoft の商標用語で、Windows OLE(オブジェクトのリンクと埋め込み)カスタム コントロールを示します。ActiveX は当初 Microsoft Visual Basic 言語の拡張機能として開発されたもので、その後すぐに、Microsoft のほかの言語製品や、インターネット エクスプローラーなどのほかのアプリケーションへ導入されました。
ActiveX コントロールをサポートする言語またはプログラミング環境で Windows アプリケーションを作成する場合は、以下のような一般的には難しい、エラーを起こしやすいデータ アクセスの作業の多くを Pervasive ActiveX アクセス方法で処理できます。
•ファイルの作成(Create)および Extended オペレーションにおけるバッファーの設定と使用
•データ変換およびフィールド レベルのアクセスの提供
•ファイル間のインデックス付き結合の保守
Microsoft Visual Basic では、これらのコントロールは Visual Basic のテキスト ボックス コントロールとリスト ボックス コントロール、APEX および Sheridan のグリッド コントロール、その他のデータ アウェア オブジェクトのデータに対するシームレスなアクセスも実現します。
Visual Basic のほか、Microsoft Visual C/C++、Embarcadero Delphi、C++ Builder などの多数のプログラミング環境も、ActiveX コントロールをサポートします。ただし、Microsoft Visual Basic データ バインドは Visual Basic 以外ではサポートされません。これらの言語で ActiveX アクセス方法を使用する予定であり、アプリケーションがテキスト ボックス、リスト ボックス、グリッドなどのユーザー インターフェイス オブジェクトを必要とする場合は、Pervasive PSQL SDK ActiveX アクセス方法に用意されている Pervasive データ バウンド コンロールを使用するか、アプリケーション コード内でこれらへのデータ バインドを実装する必要があります。
ActiveX アクセス方法を利用するとき
Pervasive ActiveX アクセス方法は、SQL アクセスやデータベース抽象化よりデータベースのパフォーマンスが重要であるアプリケーションで、ODBC インターフェイスの代替として使用できます。このインターフェイスは同じ基本的なデータ サービスの多くを提供しますが、リレーショナル(SQL)でなくトランザクショナル(Btrieve)データ モデルを使用します。
ActiveX アクセス方法の主要な機能
Pervasive ActiveX アクセス方法には、Pervasive PSQL でのアプリケーション開発を容易にする主要な機能が数多くあります。
VB 内のデータ アウェア コントロールのデータ ソース
Apex TrueGrid グリッド コントロールや Sheridan Data Widgets のようなサードパーティ コントロールなど、Visual Basic 内のほかのデータ アウェア コントロールで、Pervasive ActiveX アクセス方法をデータ ソースとして使用できます。Pervasive バウンド コントロールは、Visual Basic 環境やその他の開発環境で使用できます。
フィールド レベル アクセス
ActiveX アクセス方法では、データ辞書ファイル(DDF)を使用して Pervasive PSQL データにフィールド レベルでアクセスします。フィールドは、名前または序数で参照できます。LVAR 以外の Pervasive PSQL フィールド データ型はすべてサポートされます。
プロパティおよびメソッド インターフェイス
ActiveX アクセス方法は、コントロール オブジェクトのほかに、プログラミングの利便性と柔軟性を高めるための多数のプロパティとメソッドを提供します。これらのプロパティとメソッドを使用すると、大量のコードを記述せずに多数の Pervasive PSQL オペレーションを設定および実行できます。また、Pervasive PSQL バウンド コントロール、プログラミング環境またはその他のサードパーティ コントロールとの対話処理を通じ、コードによってデータを処理できます。
Extended オペレーション
Pervasive の ActiveX アクセス方法は、クライアント/サーバー レコード セットのキャッシュ、フィールドの選択、レコードのフィルター処理などの機能を提供する Pervasive PSQL Extended オペレーションの使用を簡単にします。
Extended オペレーションには、集中管理されているデータベースに対して分散アプリケーションを実行する際のネットワーク トラフィックを最小限にしてパフォーマンスを向上させ、グリッド コントロールやレコード リストなどの複数行オブジェクトの実装を容易にする機能があります。
DDF
ActiveX アクセス方法は ODBC インターフェイスと同様に、DDF を必要とします。DDF ファイルとデータベースにアクセスするには、Pervasive PSQL Control Center を使用します。
Pervasive PSQL Control Center の詳細については、『Pervasive PSQL User's Guide』または Pervasive PSQL Control Center のオンライン ヘルプを参照してください。
ActiveX DDF アクセス メソッド
データ ソースには、アプリケーション コード内から DDF 情報にアクセスする手段があります。
リモート データ アクセス
ActiveX アクセス方法を使用すると、ワークステーションやクライアント/サーバー オプション以外にも、URI を使って Pervasive PSQL データにアクセスできます。
結合テーブル
VAccess コントロールの Join プロパティを使用すると、2 つのファイルをキー値でリンクし、第 1 のファイルのレコード位置の変更が、第 2 のファイルから検索されたレコードにも反映されるように指定することができます。Join プロパティは、リレーショナル データベースを参照するための簡単な機能を提供します。
ActiveX アクセス方法では使用できない Pervasive PSQL 機能
以下の機能は Pervasive PSQL の一部ですが、ActiveX アクセス方法ではサポートされません。
SQL 構文
ActiveX アクセス方法は、Pervasive PSQL データベースにトランザクショナル インターフェイスを公開します。このインターフェイスはリレーショナル モデル インターフェイスを公開せず、SQL クエリ処理機能がありません。
チャンク オペレーション、非常に大きなレコード
Pervasive ActiveX アクセス方法は、Pervasive PSQL Chunk オペレーション プリミティブをサポートしません。ActiveX アクセス方法でサポートされる最大レコード サイズは、データ辞書の限界により決まります。固定レコード長の限界は 4 KB であり、固定長と可変長を組み合わせた最大長は 32 KB です。
複数の ACS を使用するファイルの作成
ActiveX アクセス方法は、複数のオルタネート コレーティング シーケンス(ACS)を持つ新規テーブルを作成するインターフェイスを公開しません。ただし、ActiveX アクセス方法はこれらのインデックスを使用するテーブルでインデックスを正しく照合します。
データ型
次の Pervasive PSQL データ型は ActiveX アクセス方法ではサポートされません。
•LONGVARCHAR
•LONGVARBINARY
URI 構文
Pervasive ActiveX では HostAddress プロパティおよび DatabaseName プロパティを使って、リモート マシンに接続するための URI を作成します。ただし、コードからすべての URI 構文パラメーターを指定することはできません。データベースがセキュリティで保護されている場合は、ActiveX コントロールは prompt=yes パラメーターを使用することにより、ユーザーに資格情報を要求するよう、トランザクショナル インターフェイスに指示します。
ActiveX コントロールを使用する最初の手順
ここでは、Pervasive PSQL で処理をすばやく開始する方法を示します。このセクションの作業を実行すれば、Pervasive PSQL アプリケーションの開発を順調に進めることができるでしょう。
•Pervasive PSQL Control Center を使用してデータベースを作成する
•Pervasive の Active X インターフェイスを開発ツールにインポートする(Visual Basic と Delphi の説明)
Pervasive PSQL Control Center を使用してデータベースを作成する
Pervasive PSQL データベースを作成する最も簡単な方法は、Pervasive PSQL Control Center を使用することです。これは Windows の[スタート]メニューから開くことができます。既存の Btrieve ファイルにリレーショナル機能を追加するか、新しいデータベースを作成できます。このデータベースは、ほかのアプリケーションで Btrieve データにアクセスできるように標準データ辞書ファイル(DDF)を作成します。
『Pervasive PSQL User's Guide』にはデータベースの作成方法のチュートリアルが含まれており、『Advanced Operations Guide』には既存の Btrieve ファイルに DDF を作成する方法のチュートリアルが含まれています。『Pervasive PSQL User's Guide』には、リレーショナル機能(FILE.DDF、INDEX.DDF および FIELD.DDF)による新しいデータベースの作成を順を追ってすばやく行えるようにするための説明が記載されています。
Visual Basic と Delphi への ActiveX アクセス方法のインポート
以下の手順では ActiveX コントロールを IDE にインポートする方法を示します。
Visual Basic
►Visual Basic プロジェクトに ActiveX コントロールをインポートするには
1 メニュー バーから[プロジェクト]を選択します。
2 [プロジェクト]ドロップダウン メニューから[コンポーネント]を選択します。
3 [コンポーネント]ダイアログ ボックスから[コントロール]タブを選択します。
4 [Pervasive ActiveX Data Source]および[Pervasive Bound Controls]オプションを選択します。
5 [OK]をクリックします。
Delphi
►ActiveX コントロールを Delphi へインポートするには
1 [コンポーネント]メニューから[ActiveX コントロールの取り込み]を選択します。[ActiveX の取り込み]ダイアログ ボックスが表示されます。
図 1 ActiveX の取り込みダイアログ ボックス(Delphi)
2 [Pervasive ActiveX Data Source]を選択した後、[インストール]をクリックします。
3 次に、バウンド コントロールをインポートする必要があります。[ActiveX の取り込み]ダイアログ ボックスで[Pervasive Bound Controls]を選択し、[インストール]をクリックします。
これで青い ActiveX コントロール アイコンが Delphi コンポーネント パレット[ActiveX]ページに表示されます。