Sollte 'GetInterface' das Problem nicht lösen?
Dessenungeachtet frage ich mich, was 'Supports' für einen Sinn macht, wenn man damit nicht herausfinden kann, ob eine Instanz ein bestimmtes Interface implementiert. Oder einfach ausgedrückt: Wozu dient 'Supports'? Was es macht, weiß ich mittlerweile, aber wann benötigt man genau diese Funktionalität ("Ist IMyInterface in der Deklaration der Klasse TMyClass enthalten").
Wenn du das weißt, dann solltest du wissen, dass:
a) Supports mehrfach überladen ist, so dass man nicht nur prüfen kann, ob eine Klasse ein Interface implementiert, sondern auch ein Interface auf ein anderes "gecastet" werden kann.
b) Supports nix anderes macht, als letztlich GetInterface bzw GetInterfaceEntry aufzurufen, welches in diesem Fall keinen Eintrag für ein durch Interface Vererbung implizit unterstütztes Interface zurückliefert (wie ich schon in meinem Post von 2010 erwähnte).
P.S. Hab sogar gerade gefunden, warum das so ist:
http://edn.embarcadero.com/article/29779 (der erste Satz nach dem Codebeispiel und der letzte Paragraph)