オブジェクトの削除¶
削除方法¶
オブジェクトを削除するためには、すべての参照を切断する必要があります。
親子間の参照関係を切断するためにはDeleteメソッドを使います。
例
//.Form1.Button1.delete();
この例では、Form1とButton1の間の参照を切断します。
CRSプログラム変数による参照は、変数スコープの消失と同時に切断されるため、意識する必要はありません。以下の例で詳しく説明します。
例
function onTouch(e) {
var csvobj = new CsvDocument; // 1
var session = HttpSession.getSession(); // 2
csvobj.Load(session.get("test.csv")); // 3
Form1.FlexView1 << csvobj;
}
最初にCSVDocumentオブジェクトがnewにより生成され、そのリファレンスがcsvobj変数に格納されます。
次にHttpSession.getSessionメソッドによりHttpSessionオブジェクトが戻され、そのリファレンスがsession変数に格納されます。
さらに、CsvDocument.loadメソッドの引数として、HttpSession.Getメソッドが実行され、HttpResponseオブジェクトがloadメソッドに渡されます。
以上によりここまでに、CsvDocument、HttpSession、HttpResponseに参照が行われました。これらオブジェクトの参照関係は次のようになります。
開放時の動作は以下のようになります。
CSVDocument.Loadメソッドの終了により、HttpResponseオブジェクトはどこからも参照されなくなり、削除されます。
OnTouchイベントハンドラの終了によりスコープから外れるcsvobjとsession変数が消去されます。
csvobj変数により参照されていたCsvDocumentオブジェクトはどこからも参照されなくなり、削除されます。
session変数により参照されていたHttpSessionオブジェクトは、まだBiz/Browser自体により参照されているため、削除されることなく維持されます。