System.Rtti.TRawVirtualClass
Delphi
TRawVirtualClass = class(TInterfacedObject, IInterface)
C++
class PASCALIMPLEMENTATION TRawVirtualClass : public System::TInterfacedObject
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
class | public | System.Rtti.pas System.Rtti.hpp |
System.Rtti | System.Rtti |
Description
Fournit une base de création dynamique d'instances qui implémentent des interfaces.
L'objet TRawVirtualClass fournit une base de création dynamique d'instances qui implémentent des interfaces. Le support implémenté par cette classe est extrêmement brut. Vous créez une instance d'une classe virtuelle en lui donnant une table VTable. VTable est un type spécialisé, défini comme une sous-classe de TRawVirtualClass. Le VTable sera rempli par des emplacements pointant sur de petits thunks qui se répartissent sur le code utilisateur.
Le modèle d'usage de base consiste à construire une classe virtuelle avec une table VTable, et une liste de GUIDs d'interfaces auxquels la table VTable correspond. Ainsi, si une interface est déclarée pour hériter d'une ligne de plusieurs parents, la table VTable unique représentera chacune des interfaces parent.
TRawVirtualClass implémente QueryInterface, AddRef et Release pour l'interface, afin de pouvoir interroger une instance et renvoyer une interface Delphi qui peut être utilisée comme toute interface Delphi.