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
|