System.Rtti.TVirtualInterface
Delphi
TVirtualInterface = class(TInterfacedObject, IInterface)
C++
class PASCALIMPLEMENTATION TVirtualInterface : 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 la fonctionnalité de marshaling d'appel de procédures distantes.
TVirtualInterface crée une implémentation d'une interface à l'exécution. Toutes les méthodes d'interface déclenchent un événement OnInvoke (voir TVirtualInterfaceInvokeEvent).
La zone d'application principale de TVirtualInterface utilise la messagerie SOAP. Le serveur SOAP déclare un service avec des fonctions spécifiques. L'importateur WSDL crée une interface Delphi qui effectue une "mise en miroir" du service serveur. Sur le côté client, une classe créée à l'exécution implémente l'interface Delphi qui reflète le service serveur (TVirtualInterface). Quand une méthode de cette classe est appelée, l'appel est emballé dans une enveloppe SOAP, envoyé au serveur, décodé, et le résultat est renvoyé au client Delphi.
TVirtualInterface ne se comporte pas comme une classe ordinaire. Chaque instance a un compteur de références associé pour se libérer automatiquement. Le constructeur n'incrémente pas le compteur de références. Une instance de TVirtualInterface doit être transtypée en une instance d'interface immédiatement après la construction (ou QueryInterface doit être utilisée).