function Remove(Item: TScPersistent): integer;
Call Remove 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. 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, 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.