Lösung:
Delphi-Quellcode:
function TGenericInterfaceList<T>.Get(Index: Integer): T;
begin
Result := T(FInterfaces[Index]);
end;
Genau diese Lösung habe ich ja im Moment und diese funktioniert nicht!
@XE2 Benutzer:
Hier wurden (mit Update 3 glaube ich) die Typecasts bei Generics etwas restriktiver. Deshalb muss man dort bei manchen solcher Typecasts einen kleinen Umweg über PPointer gehen. Das aber, meine ich mich zu erinnern, nur wenn man von T auf einen konkreten Typ möchte, welcher zwar durch die Programmlogik korrekt ist aber nicht über einen Typeconstraint gegeben ist.
Hast du hierzu mehr Informationen? Was genau in Bezug auf PPointer? Ich habe XE2, Update 3 installiert (und ja, ich weiß, dass es Update 4 gibt) und obige Lösung funktioniert leider nicht
Ich habe echt keine Ahnung warum nicht... Sowas nervt ungemein...
Generics.Collections Klassen haben keine Interfaces.
Darüber hatte ich mich ja gewundert und daher habe ich diese Liste entworfen...
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)