[Overview][Constants][Types][Classes][Procedures and functions][Variables][Index] | Reference for unit 'Classes' (#rtl)

# IInterfaceList

[Properties (by Name)] [Methods (by Name)] [Events (by Name)]

Interface for maintaining a list of interfaces.

## Declaration

Source position: classesh.inc line 2054

`type IInterfaceList = interface`
`function Get();` |  | Retrieve an interface pointer from the list.
`function GetCapacity;` |  | Return the capacity of the list.
`function GetCount;` |  | Return the current number of elements in the list.
`procedure Put();` |  | Write an item to the list
`procedure SetCapacity();` |  | Set the capacity of the list
`procedure SetCount();` |  | Set the number of items in the list
`procedure Clear;` |  | Clear the list
`procedure Delete();` |  | Remove an interface from the list
`procedure Exchange();` |  | Exchange 2 interfaces in the list
`function First;` |  | Return the first non-empty interface in the list.
`function IndexOf();` |  | Return the index of an interface.
`function Add();` |  | Add an interface to the list
`procedure Insert();` |  | Insert an interface in the list.
`function Last;` |  | Returns the last non-nil interface in the list.
`function Remove();` |  | Remove an interface from the list
`procedure Lock;` |  | Lock the list
`procedure Unlock;` |  | Unlock the list.
`property Capacity: Integer; [rw]` |  | Capacity of the list
`property Count: Integer; [rw]` |  | Current number of elements in the list.
`property Items []: IUnknown; default; [rw]` |  | Provides Index-based, sequential, access to the interfaces in the list.
`end;`

## Inheritance

`IInterfaceList` |  | Interface for maintaining a list of interfaces.

## Description

IInterfaceList is an interface for maintaining a list of interfaces, strongly resembling the standard TList class. It offers the same list of public methods as TList, with the exception that it uses interfaces instead of pointers.

All interfaces in the list should descend from IUnknown.

More detailed descriptions of how the various methods behave can be found in the TList reference.

## See also

TList |  | Class to manage collections of pointers.