CLEAR LIST
CLEAR LIST ( list {; *} )
引数 | 型 | 説明 | |
---|---|---|---|
list | Integer | → | リスト参照番号 |
* | Operator | → | 指定した場合, サブリストがあればそれもメモリからクリア 省略した場合, サブリストがあってもそれをクリアしない |
このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。
説明
CLEAR LIST コマンドは、listに渡したリスト参照番号を持つ階層リストを廃棄します。
通常は、リストの項目またはサブ項目にサブリストがあれば一緒にクリアされるように、オプションの引数 * を渡します。
プロパティリストでフォームオブジェクトに関連付けたリストをクリアする必要はありません。そうしたリストのロードとクリアは4Dが自動的に処理します。一方で、BLOBからリストのロード、コピー、取り出しを行ったり、プログラムでリストを作成した場合は、リストを使い終わるたびにCLEAR LISTコマンドを呼ぶ必要があります。
フォームに表示されているリストから項目にあるサブリストだけをクリアするには、以下のように行います:
- 親項目に対してGET LIST ITEMコマンドを呼び出して、サブリストのリスト参照を取得する。
- 親項目に対してSET LIST ITEMコマンドを呼び出して、サブリストを消去する前にサブリストを親項目から切り離す。
- CLEAR LISTコマンドを呼び出して、GET LIST ITEMコマンドで取得した参照番号を持つサブリストを消去する。
例題 1
(ウィンドウを閉じてフォームがアンロードされるときなどに) 必要のないオブジェクトやデータをすべて消去するクリーンアップルーチン中で、クリアしようとするリストはすでにクリアされたものであるかもしれません。Is a listを使用して、クリアする必要のあるリストだけをクリアすることができます:
// Extract of clean-up routine
If(Is a list(hlList))
CLEAR LIST(hlList;*)
End if
例題 2
Load list コマンドの例題参照
例題 3
BLOB to list コマンドの例題参照