What is meant by “Early Binding” and “Late Binding”? Which is better?
Early binding and late binding refer to the method used to bind an interface’s properties and methods to an object reference (variable). Early binding uses type library information at design time to reference procedures, while late binding handles this at run time. Late binding handles this by interrogating the reference before each call to insure that it supports a particular method. Since every call to a late bound object actually requires two calls
(”Do you do this?” followed by “Okay, do it then”), late binding is much less efficient than early binding. Except where early binding is not supported (ASP, scripting, etc.), late binding should only be used in very special cases.
It is a common misconception that any code using the CreateObject function instead of Set = New is using late binding. This is not the case. The type declaration of the object variable determines whether it is late or early bound, as in the following:
Dim A As Foo
Dim B As Foo
Dim C As Object
Dim D As Object
Set A = New Foo ‘Early Bound
Set B = CreateObject(”FooLib.Foo”) ‘Early Bound
Set C = CreateObject(”FooLib.Foo”) ‘Late Bound
Set D = New Foo ‘Late Bound





