ActiveX イベント リファレンス
この章では、以下のイベントについて説明します。
CommError
適用対象
VAccess コントロール
説明
(非推奨 - 以前の I*net Data Server のみ)IDS 通信エラーが発生すると必ず発生します。Vaccess コントロールで IDS との通信を試みなければ、このイベントは発生しません。
構文
Sub VAccess_CommError (ByVal bCanRecover As Boolean, ByVal wsaeErrCode As Integer, ByVal errorString As String, bReTry As Boolean)
備考
CommError イベントは、広範囲にわたって使用する必要があります。可能性のあるエラーすべてに特別な処理が必要なわけではありませんが、長期間にわたってクライアントの満足を得るためには次のことが重要です。それは、アプリケーションに関連するエラーが発生したときに、そのエラーとエラーの解決のためにアプリケーション内で実行が必要な手順を、画面上で説明することです。
CommError には 4 つのパラメーターがあります。そのうちの 1 つは、ユーザーが設定することができます。最初のパラメーターの bCanRecover はブール型で、エラーが回復可能かどうかを示します。2 番目のパラメーターの wsaeErrCode には、該当するエラーの WinSock エラー コードが入ります。3 番目のパラメーターの errorString には、エラーの説明が入ります。最後に、4 番目のパラメーターの bReTry では、クライアントとサーバー間の通信の再確立を試行する必要があるかどうかを、アプリケーションを使って設定することができます。最初のパラメーターの bCanRecover が False の場合、bReTry の設定は無効になります。
Logon
適用対象
VAccess コントロール
説明
(非推奨 - 以前の I*net Data Server のみ)このイベントを使用すると、サーバーへのログオン プロセスのカスタム処理が可能になります。VAccess コントロールが保護された IDS サーバーにログオン中で、AutoLogon が False に設定されていなければ、このイベントは発生しません。
構文
Sub VAccess_Logon(user As String, password As String, database_set As String)
備考
このイベントは、AutoLogon プロパティが False に設定されているときにのみ発生します。このイベントにはアプリケーションから設定する必要のある 3 つの文字列パラメーター、user、password、および database_set があります。Logon イベントが発生し、イベントからの情報が Logon 成功というものではなかった場合、CanRecover パラメーターが True に設定された CommError イベントが発生します。再度ログオンを試行する場合は、Retry パラメーターを True に設定します。これにより、ActiveX によって Logon イベントがもう一度発生します。
AutoLogon が False の場合、このイベントのハンドラーでは、処理から抜け出すメカニズムを用意しておくことが必要です。そうしないと、無限ループが発生する可能性があります。
OnRemote
適用対象
VAccess コントロール
説明
(非推奨 - 以前の I*net Data Server のみ)VAccess がデータ ファイルあるいはデータ辞書へローカルで接続できない場合に必ず発生します。
構文
Sub VAccess_OnRemote(ByRef goRemote As Boolean, ByRef newLocation As String)
備考
このイベントは、ActiveX コントロールが IDS サーバーとの接続を試みる前、または指定されたパスをローカルな場所に解決できなかった場合に発生します。このイベントにはブール型の goRemote と、文字列の newLocation の2 つのパラメーターがあります。ブール型の goRemote は、ActiveX が IDS サーバーとの接続を試行するかどうかを示します。これは DDFPath または Location プロパティがリモート アドレスに解決されたときに発生します。goRemote が True か False かに応じて、DDFPath または Location が以下の条件のうちの 1 つを満たす場合に、そのような解決が生じます。
•goRemote が True の場合
•指定されたサーバー名がローカル ネットワークに存在せず、IDSHOSTS ファイルにマップが見つかったとき。
•指定したドライブがオペレーティング システムによってマップされずに、IDSHOSTS ファイルでマップされているとき。
•場所が pids プロトコルを使って指定されているとき。
•場所がインターネット サーバー プロトコルまたは IP 表記で指定されているとき。
•HostAddress が指定されているとき
•goRemote が False の場合
•指定されたサーバー名がローカル ネットワークに存在せず、IDSHOSTS ファイルでマップされていないとき。
•指定したドライブがオペレーティング システムによってマップされず、IDSHOSTS ファイルでもマップされていないとき。
newLocation には解決されたパスが入ります。DdfPath または Location で指定されている場所が IDSHOSTS ファイルを使用して解決された場合、newLocation には完全パスが入ります。newLocation と goRemote は参照によって渡されるため、ユーザーはパスを変更したり、ActiveX に IDS サーバーとの接続の試行を続けるか中止するかを指示することができます。
メモ: newLocation がローカル パスに変更されても、ActiveX はローカルで接続を試行することはありません。
関連項目
DdfPath、Location、『Pervasive PSQL Programmer's Guide』
Reposition
適用対象
VAccess コントロール
説明
Reposition イベントは、レコード オペレーションが VAccess コントロールによって参照された現在のレコードを変更した後に発生します。このイベントは、VAccess コントロールに関連付けられている現在のレコードが変更されたことをプログラムに通知します。新しいレコードが現在のレコードになった後にこのイベントが発生します。
構文
Sub VAccess_Reposition([Index As Integer])
Validate
適用対象
VAccess コントロール
説明
このイベントは、関連する Pervasive PSQL ファイルに対して何らかのレコード オペレーションが行われる前に発生します。
構文
Sub VAccess_Validate([Index As Integer,]OpCode As Integer, InsertRecord As Integer, UpdateRecord As Integer)
備考
OpCode は、実行される Pervasive PSQL API オペレーションのコードに相当します。このコードをほかのオペレーション コードに設定すると、実行されるオペレーションが変わります。このコードをゼロに設定すると、オペレーションがキャンセルされます。InsertRecord または UpdateRecord のどちらかを True に設定すると、OpCode で指定されたオペレーションを実行する前に、設定に応じて現在のレコードが挿入または更新されます。このイベントに応答して、関連する VAccess コントロールを使用して Btrv 関数を呼び出したり、VAccess コントロールのレコード オペレーション プロパティを設定したりしないでください。無限のループに陥ったり、ほかの予期しない結果を引き起こすことがあります。