Erken Bağlama — bu, nesne tipinin derleme sırasında bilindiği bir yöntemdir. Değişkeni tanımlarken belirli bir türü belirtiriz:
Dim app As New Excel.Application ' Erken Bağlama
Avantajları:
Geç Bağlama — nesne tipi yalnızca çalışma zamanında belirlenir. Genellikle Object üzerinden kullanılır:
Dim app As Object Set app = CreateObject("Excel.Application") app.Visible = True
Avantajları:
Geç Bağlamanın Dezavantajları:
COM nesneleri ile çalışmak için geç bağlama her zaman mantıklı mı?
Cevap: Hayır, sadece gerekli kütüphane sürümünün tüm hedef bilgisayarlarda mevcut olduğundan emin değilseniz. Sürüm kontrolü güvenliyse ve tüm bağımlılıklar biliniyorsa — erken bağlama daha hızlı, daha güvenilir ve tercih edilen yöntemdir. Geç bağlama gereksiz yere performansı düşürür ve statik tip kontrolü ile olan etkileşimi olumsuz etkiler.
Hikaye
Excel üzerinden raporlama otomasyonu: geç bağlama nedeniyle, bir yöntem adındaki hatayı yalnızca müşteri ile, makro "bozulduğunda" (app.WorkbooksOpen yerine app.Workbooks.Open'daki yazım hatası) keşfettik. Erken bağlama kullanmış olsaydık, hata hemen ortaya çıkardı.
Hikaye
Eski kütüphaneden yeni sürüme geçişte uygulama istisnalar vermeye başladı — yeni alanlar desteklenmiyordu. Erken bağlama güncellemeyi engelledi; geç bağlamaya geçmek zorunda kaldık, ancak bazı işlevler imza uyumsuzluğundan dolayı çalışmadı.
Hikaye
Tamamlanmış bir kütüphane üretime alındı, ancak gerekli COM bağımlılığı unutuldu. Erken bağlama ile proje hiç başlamadı (kayıt hatası), ancak geç bağlama ile çalıştı, ama her nesne çağrısında "düştü" ve ek loglar talep etti.