Technisch ja, solange die Schnittstelle eine GUID hat und die Klassen, die Sie interessieren, in den Schnittstellenabschnitten von Einheiten sind.
Die RTTI-Einheit verfügt (noch) nicht über eine API zur Beschreibung aller Schnittstellen, die eine Klasse implementiert, aber die Daten sind im Typ info.
Die GUID für einen Schnittstellentyp kann von diesem Ausdruck abgerufen werden:
%Vor%oder:
%Vor% Die Klasse des Instanztyps kann dann mit TClass.GetInterfaceEntry(IID)
überprüft werden - wenn sie nicht-null zurückgibt, implementiert die Klasse die Schnittstelle.
Alle in Schnittstellenabschnitten von Einheiten deklarierten Klassen können über TRttiContext.GetTypes
abgerufen werden.
Das Schreiben des tatsächlichen Iterations- und Extraktionscodes wird dem Leser als Übung überlassen.
Tags und Links delphi delphi-xe interface rtti delphi-2010