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