Freigeben über


Frühes (vtable) und spätes (Idispatch) Binden

Visual FoxPro-COM-Server bieten Unterstützung für frühes (vtable) und spätes (IDispatch) Binden (zusammen auch als Dualschnittstellenunterstützung bezeichnet). Binden beschreibt in diesem Zusammenhang, wie Clients auf Eigenschaften und Methoden eines Servers zugreifen. Das frühe Binden bietet Leistungsvorteile für Automatisierungscontroller, die das frühe Binden unterstützen (z. B. Visual Basic und Microsoft Transaction Server). Visual FoxPro-Server bieten die Unterstützung für beide Schnittstellen; welche Schnittstelle verwendet wird, richtet sich daher nach dem Client.

Frühes Binden

Wenn ein Client zur Kompilierungszeit erkennen kann, zu welchem Objekt eine Eigenschaft oder Methode gehört, kann er den Verweis auf das Objekt zur Kompilierungszeit auflösen. Die kompilierte ausführbare Datei enthält nur den Code, um die Eigenschaften, Methoden und Ereignisse des Objekts aufzurufen. Dieses Verfahren wird als frühes Binden bezeichnet.

Beispiel: Visual Basic-Client

Dim xlApp1 As Excel.Application
Set xlApp1 = New Excel.Application

Durch das frühe Binden wird die Zeit, die erforderlich ist, um einen Eigenschaftswert festzulegen oder abzurufen, deutlich verkürzt, da der Aufwand für das Aufrufen einen erheblichen Anteil der Gesamtzeit betragen kann. Bei Methodenaufrufen hängt das Ausmaß der Verbesserung vom Umfang der Arbeit ab, die durch die Methode ausgeführt wird. Für kurze Methoden, bei denen der Aufruf ähnlich viel Zeit beansprucht wie die Durchführung des Tasks selbst, lässt sich der größte Nutzen verzeichnen.

Spätes Binden

Obwohl das späte Binden das langsamste Verfahren zum Aufrufen der Eigenschaften und Methoden eines Objekts darstellt, ist es in bestimmten Situationen notwendig. In Visual Basic können Sie z. B. eine Funktion schreiben, die eine Objektvariable verwendet, die sich auf eine beliebige einer Vielzahl von Objektklassen beziehen kann. Da Sie im Vorfeld nicht wissen können, welche Objektklasse der Variablen zugewiesen wird, müssen Sie sie mit Hilfe des DIM As Object-Befehls als spät gebundene Variable deklarieren.

Beispiel: Visual Basic-Client

Dim xlApp2 As Object
Set xlApp2 = CreateObject("Excel.Application")

Methodenaufrufe für Objekte, die auf diese Weise erstellt werden, können mehr Zeit beanspruchen als Methodenaufrufe früh gebundener Objekte, da der Client Code in die kompilierte ausführbare Datei einbeziehen muss, mit dem zur Laufzeit bestimmt wird, ob eine bestimmte Methode auf dem Server verfügbar ist.

Siehe auch

Kompilieren von Quellcode | Skalierbarkeit und Multithreading | Interoperabilität und das Internet | Visual FoxPro-Laufzeitbibliotheken