System.Contnrs.TComponentList.Remove

提供: RAD Studio API Documentation
移動先: 案内検索

Delphi

function Remove(AComponent: TComponent): Integer; inline;

C++

HIDESBASE int __fastcall Remove(System::Classes::TComponent* AComponent);

プロパティ

種類 可視性 ソース ユニット
function public
System.Contnrs.pas
System.Contnrs.hpp
System.Contnrs TComponentList

説明

Remove は,指定したコンポーネントをリストから削除し,(OwnsObjects が true の場合は)そのコンポーネントを解放します。

Remove メソッドを呼び出すと,インデックスが未定義でもリストから特定コンポーネントを削除できます。戻り値は,目的のコンポーネントが削除される前に保持していた Items 配列内のインデックスになります。指定したコンポーネントがリストに見つからない場合,Remove は -1 を返します。OwnsObjects が true の場合,Remove は,コンポーネントをリストから削除したうえで解放します。

コンポーネントを削除すると,それ以降のすべてのコンポーネントのインデックス位置が繰り上げられ,Count プロパティがデクリメントされます。同じコンポーネントがリストに複数でてくる場合には,Remove は最初のオブジェクトだけを削除します。このため,OwnsObjects が true の場合に複数回でてくるコンポーネントを削除すると,リストの 2 つめ以降のコンポーネントが空参照になってしまいます。

インデックス位置(オブジェクト参照ではなく)を使って削除するコンポーネントを指定するには,Delete メソッドを呼び出してください。

コンポーネントを解放せずにリストから削除するには,Extract メソッドを呼び出します。

関連項目