Hätt schwören können, da stand gestern was anderes, egal.
Hab nicht dran gedacht, dass beim Add in die TInterfaceList auch nen QueryInterface gemacht wird, also wird T dann wieder auf IInterface "gecastet". Das musst du dann beim Get wieder umdrehen:
Delphi-Quellcode:
function TGenericInterfaceList<T>.Get(Index: Integer): T;
begin
FInterfaces[Index].QueryInterface(GetTypeData(TypeInfo(T)).Guid, Result);
end;
Wuhu... Das funktioniert einwandfrei!!! Danke dir vielmals!
Jetzt weiß ich auch, wie man an die
GUID eines Interfaces kommt. Tausend Dank!
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)