System.Rtti.TRawVirtualClass

De RAD Studio API Documentation
Aller à : navigation, rechercher

System.TInterfacedObjectSystem.TObjectTRawVirtualClass

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.

Voir aussi