[
|../../index.htm#lansa/lansa048_4830.htm]
Visual LANSA フレームワーク ガイド > フレームワーク・プログラミング > VLF フレームワーク・マネージャー > uQueryCanDeactivate avNotifyDeactivationを使用して未保存の変更を保存
!worddavaf485e25f57cd86bb5b0fc63f3f1b1cc.png|height=32,width=32! VLF-ONE の場合 VLF-ONE フィルターおよびコマンド・ハンドラーに再定義された uQueryCanClose メソッドが存在することがあります。 これは、フィルターまたはコマンド・ハンドラーを閉じようとユーザーがアクションを取った時に起動されます。 !worddavaf485e25f57cd86bb5b0fc63f3f1b1cc.png|height=32,width=32! そして、キャンセルまたは閉じる要求が許可されるかどうかを示すブール値パラメータ #CanBeCancelled に渡されます。 これはブール値 #Allow を返し、閉じる要求がキャンセルされるべきかどうかが示されます。閉じる要求がキャンセルできない場合、実績値が返されたかどうかにかかわらず、TRUE (閉じることを許可) だと判断されます。 つまり、uQueryCanClose には次の 2 つの役割があります。 未保存の変更がある場合、フィルターまたはコマンド・ハンドラーのキャンセルまたは閉じる処理を許可する要求をキャンセルまたは閉じる、最初のフィルター/コマンド・ハンドラーは、これ以降の uQueryCloseRequest への呼び出しを制止することに注意してください。 フィルターまたはコマンド・ハンドラーが、保存されていない変更の保存を試みることを許可する。こここでは「試みる」という言葉であることに注意してください。ユーザーが Web ブラウザ全体を閉じたり、別の Web ページに移動した場合、サーバーに送信するといった複雑な処理をプログラムで行うことができない可能性があるからです。 VLF-WIN の場合 VLF-WIN では、uQueryCanDeactivate は、エンドユーザーがコマンド・ハンドラーからフレームワーク内の別の場所に移動したり、フレームワークを終了しようとすると起動されます。これは、ユーザーが別のコマンド・タブ、ビジネス・オブジェクトの新しいインスタンス、または他のビジネス・オブジェクトやアプリケーションをクリックすると、実行されます。 保存されていない変更を保存する場合に、このメソッドは特に役に立ちます。ルーチンは変更を保存する必要があるかどうかを確認します。保存する必要がある場合は、ユーザーに「続行する前に変更を保存しますか?」という質問が表示されます。(はい/いいえ)\[はい\] と答えると、変更を保存できます。 (※質問のメッセージはプログラムソース上で変更することができます。) ルーチンの実行時でも、コマンド・ハンドラーには、ユーザーが移動を試みる前の値がすべて保持されています。したがって、保存されていない変更がないか確認して保存するのは簡単です。 このメソッドを使用するには、avNotifyDeActivationプロパティをコマンド・ハンドラーの初期化ルーチンに設定する必要があります。 |