メインコンテンツまでスキップ
バージョン: 20 R7 BETA

On Host Database Event database method

$1 -> On Host Database Event データベースメソッド

引数説明
$1倍長整数イベントコード

このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。

詳細

On Host Database Event データベースメソッド はデータベースが開いた時と閉じられた時に 4D コンポーネントにコードを実行させることが出来るようになりました。

注: セキュリティ上の理由から、このデータベースメソッドを使用可能にするためには、その実行をホストデータベースで明示的に許可する必要があります。詳細に関しては、Design Reference マニュアルを参照して下さい。

On Host Database Event データベースメソッド は、ホストデータベースのコンポーネントとして使用されているデータベースの中でのみ自動的に実行されます(ホストデータベースの設定で有効にされている必要があります)。このメソッドはホストデータベースの開閉に関するイベントが発生したときに呼び出されます。

イベントを扱うためには、 $1 引数の値をメソッド内で調べて、 "Database Events" テーマ内にある、以下の定数と比較する必要があります:

定数コメント
On after host database exit倍長整数4ホストデータベースの Semaphore データベースメソッドが実行を終了したところです。
On after host database startup倍長整数2ホストデーターベースの データベースメソッドが実行を終了したところです。
On before host database exit倍長整数3ホストデータベースは閉じられようとしているところです。ホストデータベースの Semaphore データベースメソッドはまだ呼び出されていない状態です。
ホストデータベースの Semaphore データベースは、コンポーネントの On Host Database Event データベースメソッド データベースメソッドが実行されている間は呼び出されません。
On before host database startup倍長整数1ホストデータベースはちょうど開かれたところです。ホストデータベースの データベースメソッドはまだ呼び出されていません。
データベースメソッドは、 On Host Database Event データベースメソッド データベースメソッドがコンポーネント内で実行されている間は呼び出されません。

このコマンドにより、4D コンポーネントはホストデータベースのオペレーションに関連したプリファレンスやユーザー情報を読み込んだり保存したりすることが出来ます。

例題

On Host Database Event の典型例を紹介します:

  // On Host Database Event データベースメソッド
 var $1 : Integer
 Case of
    :($1=On before host database startup)
  // この部分にホストデータベースの "On Startup" データベースメソッドの前に実行したいコードを記述します
    :($1=On after host database startup)
  // この部分にホストデータベースの "On Startup" データベースメソッドの後に実行したいコードを記述します
    :($1=On before host database exit)
  // この部分にホストデータベースの "On Exit" データベースメソッドの前に実行したいコードを記述します
    :($1=On after host database exit)
  // この部分にホストデータベースの "On Exit" データベースメソッドの後に実行したいコードを記述します
 End case