System.Rtti.TVirtualInterface

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

System.TInterfacedObjectSystem.TObjectTVirtualInterface

Delphi

TVirtualInterface = class(TInterfacedObject, IInterface)

C++

class PASCALIMPLEMENTATION TVirtualInterface : public System::TInterfacedObject

Eigenschaften

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

Beschreibung

Stellt die Funktionalität für das Marshaling von Remote-Prozeduraufrufen bereit.

TVirtualInterface erstellt eine Implementierung eines Interface zur Laufzeit. Alle Interface-Methoden lösen ein OnInvoke-Ereignis aus (siehe TVirtualInterfaceInvokeEvent).

Die Hauptanwendungsbereich von TVirtualInterface ist das Senden von SOAP-Botschaften. Der SOAP-Server deklariert einen Dienst mit speziellen Funktionen. Beim WSDL-Import wird ein Delphi-Interface erstellt, das den Serverdienst "spiegelt". Auf der Clientseite wird zur Laufzeit eine Klasse erstellt, die das Delphi-Interface implementiert, das den Serverdienst wiederspiegelt (TVirtualInterface). Wird eine Methode dieser Klasse aufgerufen, wird der Aufruf in einen SOAP-Envelope verpackt, an den Server gesendet, decodiert und das Ergebnis an den Delphi-Client zurückgesendet.

TVirtualInterface verhält sich nicht wie eine normale Klasse. Jeder Instanz ist ein Referenzzähler zugeordnet, damit die Instanz sich automatisch freigeben kann. Der Konstruktor erhöht den Referenzzähler nicht. Eine TVirtualInterface-Instanz sollte sofort nach der Erstellung in eine Interface-Instanz umgewandelt werden (oder QueryInterface sollte verwendet werden).

Siehe auch

Codebeispiele