Internet Direct (Indy) Version 9.0.1 Beta
TIdObjectList.Remove
Removes (and optionally frees) an object from the list.

function Remove(AObject: TObject): Integer;
Parameters
AObject: TObject
Onject instance to be removed.

Returns
Integer - Index position of the object removed from the list.

Description
Remove is an Integer function that can be used to delete a specific object from the list when its index is unknown. The value returned is the index of the object in the Items array before it was removed. If the specified object is not found on the list, Remove returns –1. If OwnsObjects is True, Remove frees the object in addition to removing it from the list.

After an object is deleted, all the objects that follow it are moved up in index position and Count is decremented. If an object appears more than once on the list, Remove deletes only the first appearance. Hence, if OwnsObjects is True, removing an object that appears more than once results in empty object references later in the list.

To use an index position (rather than an object reference) to specify the object to be removed, call Delete.

To remove an object from the list without freeing it, call Extract.