System.Rtti.TRawVirtualClass
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.