System.Rtti.TRawVirtualClass

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

System.TInterfacedObjectSystem.TObjectTRawVirtualClass

Delphi

TRawVirtualClass = class(TInterfacedObject, IInterface)

C++

class PASCALIMPLEMENTATION TRawVirtualClass : public System::TInterfacedObject

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
class public
System.Rtti.pas
System.Rtti.hpp
System.Rtti System.Rtti

Beschreibung

Stellt eine Basis zum dynamischen Erstellen von Instanzen bereit, die Interfaces implementieren.

Das Objekt TRawVirtualClass stellt eine Basis zum dynamischen Erstellen von Instanzen bereit, die Interfaces implementieren. Die von dieser Klasse implementierte Unterstützung ist extrem rudimentär. Sie erstellen eine Instanz einer virtuellen Klasse durch Übergeben einer VTable. Die VTable ist ein spezialisierter Typ, der als Unterklasse von TRawVirtualClass definiert ist. Die VTable wird mit Slots gefüllt, die auf kleine Prozeduren (Thunks) zeigen, die zum Benutzercode weiterleiten.

Das grundlegende Verwendungsmodell ist das Erstellen einer virtuellen Klasse mit einer VTable und einer Liste der GUIDs von Interfaces, die mit der VTable übereinstimmen. Wenn Sie also ein Interface deklariert haben, das von einer Reihe von übergeordneten erbt, repräsentiert die einzelne VTable jedes der übergeordneten Interfaces.

TRawVirtualClass implementiert QueryInterface, AddRef und Release für das Interface, damit Sie eine Instanz abfragen können und ein Delphi-Interface zurückerhalten, das so verwendet werden kann, als ob es ein beliebiges Delphi-Interface wäre.

Siehe auch