IInterface implementieren
Nach oben zu Schnittstellen verwenden
So wie alle Objekte direkt oder indirekt von TObject abstammen, so stammen alle Schnittstellen von der Schnittstelle IInterface ab. IInterface stellt Methoden zum Abfragen einer Schnittstelle während der Laufzeit und zur Referenzzählung bereit. Dies wird in den drei Methoden von IInterface implementiert:
- QueryInterface fragt ein gegebenes Objekt zur Laufzeit ab, um Schnittstellenreferenzen für die von diesem Objekt unterstützten Schnittstellen zu erhalten.
- _AddRef ist eine Methode zur Referenzzählung, deren Wert mit jedem erfolgreichen Aufruf von QueryInterface erhöht wird. Solange der Referenzzähler einen Wert ungleich Null aufweist, darf das Objekt nicht aus dem Speicher entfernt werden.
- _Release wird in Verbindung mit _AddRef verwendet, damit Objekte ermitteln können, ob sie aus dem Speicher entfernt werden dürfen. Sobald der Referenzzähler Null erreicht, gibt die Schnittstellenimplementierung das Objekt frei. Wenn eine Klasse Schnittstellen implementiert, muss sie auch die drei IInterface-Methoden und alle Methoden implementieren, die von anderen Vorfahrenschnittstellen und den betreffenden Schnittstellen selbst deklariert werden. Sie können die Implementierungen der Schnittstellenmethoden einer Klasse auch vererben.
Durch eigene Implementierungen dieser Methoden können Sie die Referenzverwaltung ändern und die Referenzzählung außer Kraft setzen. Auf diese Weise können Sie Schnittstellen von der Referenzzählung trennen.