Benutzerdefinierte Schnittstellen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Automatisierungsschnittstellen


Benutzerdefinierte Schnittstellen ermöglichen Clients das Aufrufen von Schnittstellenmethoden anhand ihrer Reihenfolge in der VTable und anhand der Kenntnis der benötigten Argumenttypen. In der VTable sind die Adressen aller Eigenschaften und Methoden aufgeführt, die Elemente des Objekts sind, einschließlich der Elementfunktionen der vom Objekt unterstützten Schnittstellen. Wenn das Objekt IDispatch nicht unterstützt, folgen die Einträge für die Elemente der benutzerdefinierten Schnittstelle des Objekts direkt nach den Elementen von IUnknown.

Wenn das Objekt eine Typbibliothek besitzt, können Sie über das Layout seiner virtuellen Funktionstabelle (VTable), die mit dem Typbibliothekseditor ermittelt werden kann, auf die benutzerdefinierte Schnittstelle zugreifen. Besitzt das Objekt eine Typbibliothek und unterstützt außerdem IDispatch, kann ein Client auch die dispIDs der IDispatch-Schnittstelle ermitteln und direkt an einen VTable-Offset binden. Die Importroutine für Typbibliotheken von Delphi (TLIBIMP) ruft dispIDs beim Importieren ab. Wenn Clients die Dispatch-Schnittstellen verwenden , sind keine Aufrufe von GetIDsOfNames erforderlich, da sich die Informationen bereits in der _TLB-Unit befinden. Clients müssen jedoch weiterhin Invoke aufrufen.