Early Binding ist eine Methode, bei der der Objekttyp zur Compile-Zeit bekannt ist. Wir geben einen bestimmten Typ bei der Deklaration der Variablen an:
Dim app As New Excel.Application ' Early Binding
Vorteile:
Late Binding – der Objekttyp wird erst zur Laufzeit bestimmt. Normalerweise wird dies über Object verwendet:
Dim app As Object Set app = CreateObject("Excel.Application") app.Visible = True
Vorteile:
Nachteile von Late Binding:
Macht es immer Sinn, Late Binding für die Arbeit mit COM-Objekten zu verwenden?
Antwort: Nein, nur wenn Sie sich nicht sicher sind, ob die benötigte Version der Bibliothek auf allen Zielcomputern vorhanden ist. Wenn die Versionskontrolle sicher ist und alle Abhängigkeiten bekannt sind, ist Early Binding schneller, zuverlässiger und vorzuziehen. Eine unangemessene Anwendung von Late Binding verschlechtert die Leistung und den Umgang mit statischer Typierung.
Geschichte
Automatisierung der Berichterstattung über Excel: Aufgrund von Late Binding wurde der Fehler im Methodennamen nur beim Kunden entdeckt, als das Makro "brach" (Tippfehler in
app.WorkbooksOpenanstelle vonapp.Workbooks.Open). Hätten wir Early Binding verwendet, wäre der Fehler sofort aufgefallen.
Geschichte
Bei der Migration von einer alten auf eine neue Version der Word-Bibliothek begann die Anwendung, Ausnahmen zu werfen – neue Felder wurden nicht unterstützt. Early Binding blockierte das Update; wir mussten auf Late Binding umsteigen, aber ein Teil der Funktionen hörte auf zu arbeiten aufgrund von Unstimmigkeiten bei den Signaturen.
Geschichte
Die fertige Bibliothek wurde auf die Produktionsumgebung geliefert, aber die erforderliche COM-Abhängigkeit wurde vergessen. Bei Early Binding konnte das Projekt überhaupt nicht gestartet werden (Registrierungsfehler), während es bei Late Binding funktionierte, aber bei jedem Aufruf des Objekts "abstürzte" und zusätzliche Protokolle verlangte.