常にアクティブ

Visual LANSA

常にアクティブ


フィルターまたはコマンド・ハンドラーが非表示のときでもアクティブのままであることを示すには、このオプションをYESに設定します。

このオプションは、非常によく使用するフィルターとコマンド・ハンドラーに対して選択することをお勧めします。このオプションを使用すると、通常、パフォーマンスが増加する分メモリの使用量が犠牲になります。

または、このオプションをNEVERに設定してメモリの使用量を最小限にします。NEVERに設定された[常にアクティブ]オプションは、ユーザーが別のビジネス・オブジェクトに移動すると非アクティブなフィルターやコマンド・ハンドラー(つまり、ユーザーに表示されないタブ上にあるフィルターやコマンド・ハンドラー)が終了することを示します。つまり、uTerminateメソッドが実行されます(注:表示されている/アクティブなフィルターやコマンド・ハンドラーは、ユーザーがいつでも再表示できるため、終了できません)。

フィルターやコマンド・ハンドラーの[常にアクティブ]オプションをDEFAULTに設定した場合は、新しいフレームワーク・レベルのオプション、[コマンドとフィルターの常にアクティブの省略値]に設定されている値になります。

プログラミングの注意:

通常、フィルターまたはコマンド・ハンドラーは、タブが必要なくなったときに破棄され、表示されるときに再作成されます(ランダムな作成と破棄プロセスは、フレームワークではなく、システムによって制御されます)。フィルターまたはコマンド・ハンドラーを非常によく使用する場合は、このプロセスはコストがかかる可能性があるので、常にアクティブをYESに設定することによってこのプロセスを避けることができます。

常にアクティブとして指定されたフィルターまたはコマンド・ハンドラーがある場合は、フィルターが最初に作成された時間(uInitialize)と破棄された時間(uTerminate)を調べることができるので、フィルターとコマンド・ハンドラーが使用するものを自分で作成して破棄できます。

uInitializeおよびuTerminateは、アクティブなままではないフィルターやコマンド・ハンドラーで使用している場合でも機能しますが、フィルターやコマンド・ハンドラーが作成され、破棄されるときに頻繁に呼び出される可能性があります。また、uInitializeおよびuTerminateは、オブジェクトが隠され、表示されるたびに実行されるわけではありません。

このオプションは、Windowsフレームワーク・アプリケーションのみに適用されます。