Eventuell ist
TInterfaceList was für dich.
Ich kapsle in der Regel das Interface in einem Objekt und hänge dieses an eine ganz normale TObjectList oder TStringList.
Delphi-Quellcode:
TInterfaceWrapper = class
FValue: IUnknown;
public
constructor Create(Int: IUnknown);
destructor Destroy; override;
property Value: IUnknown read FValue write FValue;
end;
implementation
{ TInterfaceWrapper }
constructor TInterfaceWrapper.Create(Int: IInterface);
begin
FValue := Int;
end;
destructor TInterfaceWrapper.Destroy;
begin
FValue := nil;
inherited;
end;