セッションのアクティブ化
メモ: BDE(Borland Database Engine)は非推奨になったため、今後は機能強化されません。 たとえば、BDE では Unicode はサポートされません。 BDE を使用した新規開発はしないことをお勧めします。 既存のデータベース アプリケーションを BDE から dbExpress に移行することを検討してください。
Active は、ブーリアン型のプロパティであり、セッションと関連付けられているデータベースとデータセット コンポーネントが、開かれているかを判別します。このプロパティを使用すると、セッション データベースとデータセット接続の現在の状態を読み込んだり、それを変更したりすることができます。Active が False(デフォルト)の場合、セッションと関連付けられているすべてのデータベースとデータセットは、閉じられています。Trueなら、データベースとデータセットは開いています。
セッションは、それが最初に作成された際にアクティブとなり、その後は、Active プロパティが False から True へ変わった際に、アクティブになります(たとえば、セッションに関連付けられているデータベースやデータセットが、開かれており、その他に現在開かれているデータベースやデータセットがない場合、など)。Active を True に設定すると、セッション Bde.DBTables.TSession.OnStartup イベントが発生し、paradox のディレクトリの位置 を BDE に登録し、ConfigMode プロパティを登録し、これによって、どの BDE エイリアスがそのセッション内で利用可能かが判断されます。OnStartup イベント ハンドラを記述することにより、NetFileDir、PrivateDir、ConfigMode プロパティが、BDE に登録される前、または、他のセッション固有の開始時の動作を実行する前に、それらプロパティを初期化することができます。
セッションがアクティブになったら、そのデータベース接続を、OpenDatabase メソッドを呼び出して、開くことができます。
データ モジュールやフォームに配置したセッション コンポーネントの場合、開いているデータベースやデータセットがあると、Active を False に設定した際に、それらを閉じます。実行時、データベースやデータセットを閉じると、それに関連付けられているイベントが発生します。
メモ: 設計時に、デフォルトのセッションに対して、Active を False に設定することはできません。また実行時に、デフォルト セッションを閉じることはできますが、それは推奨されません。
また、セッションの Open または Close メソッドを使用して、実行時にデフォルト セッション以外のセッションを、アクティブまたは非アクティブにすることができます。たとえば、コード内の次の 1 行は、セッションの開いているデータベースとデータセットをすべて閉じます:
Delphi:
Session1.Close;
C++:
Session1->Close();
このコードは、Session1 の Active プロパティを False に設定しています。セッションの Active プロパティが False の場合、それ以降のアプリケーションによる、データベースやデータセットを開こうとする試みにより、Active は True にリセットされ、セッション OnStartup イベント ハンドラがある場合にはそれが呼び出されます。また、実行時にセッションが再度アクティブ化されるよう、明示的にコードで記述することもできます。次のコードは、Session1 を再度アクティブ化しています:
Delphi:
Session1.Open;
C++:
Session1->Open();
メモ: セッションがアクティブの場合、個々のデータベース接続をオープンまたはクローズすることができます。詳細については、「データベース接続を閉じる」を参照してください。