Einzelnen Beitrag anzeigen

Benutzerbild von Kedariodakon
Kedariodakon

Registriert seit: 10. Sep 2004
Ort: Mönchengladbach
833 Beiträge
 
Delphi 7 Enterprise
 
#1

InterfaceTable eines Interfaces?

  Alt 7. Mär 2007, 01:15
Nun hab ich mal so eine ganz kuriose Sache, jedes TObject hat ja die bekannte Funktion "GetInterfaceTable"...

Komme ich über ein Interface auch an diese Tabelle?

Sprich ich hab ein Variable Intf: IUnknown, welche auch belegt ist, dass Object dahinter ist mir völlig unbekannt...
Nun würde ich gern alle GUIDs der implementierten Interfaces haben...

Bis jetzt mach ich es pie mal daumen so (Achtung, das ist nur ein grobes Funktionsbeispiel... ):
Delphi-Quellcode:
Function GetGUIDs( Const Intf: IUnknown ): {irgendwas...}
Begin
  If Supports( Intf, IInt1 ) Then {lalala}.Add( GUIDToString( IInt1 ) );
  If Supports( Intf, IInt2 ) Then {lalala}.Add( GUIDToString( IInt2 ) );
  If Supports( Intf, IInt3 ) Then {lalala}.Add( GUIDToString( IInt3 ) );
  If Supports( Intf, IInt4 ) Then {lalala}.Add( GUIDToString( IInt4 ) );
  If Supports( Intf, IInt5 ) Then {lalala}.Add( GUIDToString( IInt5 ) );
  { Mach mir ein wildes Result... }
End;
Nunja, aber da kann man ja schnell mal ein Interface vergessen, daher wär so eine Tabelle schon eine sehr feine Sache...
Vorallem, da ja eventuell mal ein neueres Modul mit einem alten Programm läuft, welches ja ev. mal das Interface nicht kennt (macht die Liste dannn ja unvollständig)...

Hat jemand eine Idee?


Bye Christian
Christian
  Mit Zitat antworten Zitat