Main Content

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

リスナーのライフサイクル

リスナー ライフサイクルの制御

リスナーを作成するには 2 つの方法があります。

  • addlistener は、リスナーとイベント ソース オブジェクト間の結合を作成します。リスナー オブジェクトは、削除されるか、またはイベント オブジェクトが破棄されるまで存続します。イベント ソース オブジェクトが破棄されると、MATLAB® はリスナー オブジェクトを自動的に破棄します。

  • listener は、イベント ソース オブジェクトのライフサイクルに結合されていないリスナー オブジェクトを作成します。リスナー オブジェクトがスコープ内にとどまり、明示的に削除されない限り、リスナーはアクティブです。このため、アプリケーションは、リスナー ハンドルを保存することにより、リスナー オブジェクトへの参照を保持しなければなりません。リスナー オブジェクトとイベント オブジェクトの結合解除の利点は、それぞれを独立して定義し、破棄できることです。

詳細については、イベントとリスナーの構文を参照してください。

リスナーの一時的な非アクティブ化

addlistener メソッドは、リスナー オブジェクトを返すので、そのプロパティを設定することができます。たとえば、Enabled プロパティを false に設定することによって、リスナーを一時的に無効にできます。

ListenerHandle.Enabled = false;

リスナーを再度有効にするために、Enabledtrue に設定します。

ListenerHandle.Enabled = true;

リスナーの完全な削除

リスナー オブジェクトに対して delete を呼び出すと、リスナー オブジェクトを破棄してリスナーを完全に削除します。

delete(ListenerHandle) 

メモ

イベントとリスナーを定義するオブジェクトに pack コマンドを使用しないでください。pack コマンドを実行すると、ワークスペース内のオブジェクトに対して定義されたすべてのリスナーが破棄されます。オブジェクトを保存するときにリスナーを復元する方法の詳細については、リスナーの復元を参照してください。

関連するトピック