Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...

What is the difference between early binding and late
binding?

Answer Posted / murugesh

The process of verifying that an Object exists and that a
specified Property or Method is valid is called Binding.
There are two times when this verification process can take
place: during compile time (Early Binding) or run time
(Late Binding). When you declare an Object Variable as a
specific Data Type, you are using Early Binding so the
verification can take place during compile time. When you
declare a Variable of the generic Object Data Type, you are
using Late Binding. In this case, VBA must find and verify
the Object information during any execution of VBA
statement that includes a Reference to the Object or one of
its Properties or Methods. The time difference between
Early and Late Binding can be quite significant. Some
examples of Early Binding are listed below:
Dim appAccess As Access.Application
Dim appExcel As Excel.Application
Dim winExcel As Excel.Window
Dim winProject As Project.Window
Dim chkBox As CheckBox
Dim cboFinance As ComboBox
Dim chtMain As Chart
Dim lstLookup As ListBox
Dim pvtNew As PivotTable
As an example, I'll refer to an ADO Field as an ADODB.Field
and also as an Object (commented out). Benchmark Test
Procedures using the code below report a hugh difference in
the speed of accessing the ADO Field's Properties,
naturally, in favor of Early Binding. The code is listed
below.

Code: ( text )
Dim rst As ADODB.Recordset, strName As String

'Early Binding. Declaring fld as ADODB.Field results in
'times that are around 7% of those measured declaring fld
'as Object. In the case of several hundred Records, the
difference
'would not be significant, but in the case of several
hundred
'thousand Records, the time difference would be enormous.
Dim fld As ADODB.Field

'Late Binding
'Dim fld As Object

Set rst = New ADODB.Recordset
Set rst.ActiveConnection = CurrentProject.Connection
rst.Source = "tblEmployee"
rst.CursorType = adOpenStatic

rst.Open

rst.MoveFirst

Set fld = rst.Fields(0)
Do While Not rst.EOF
strName = fld.Name
rst.MoveNext
Loop

rst.Close
Set fld = Nothing
Set rst = Nothing

In every case, if at all possible, declare a Variable using
the most specific Object Type that you can. For Access
Controls, that means using, for example:

Code: ( text )
Dim cmd As CommandButton

Is This Answer Correct ?    15 Yes 7 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

How to get freefile location in memory?

2726


Is it possible to change menu runtime using API? If yes? Specify the function names.

2129


How do I mimic a toggle button?

1520


How many tabs in a tabbed dialog do you consider appropriate?

2196


what are the types of cursors in DAO?

2072


Types of cursors in RDO.

2188


How do I prevent multiple instances of my program?

1480


How would you attach pictures in column headers of List View Control?

2146


What is recordset in visual basic?

1068


How would you navigate between one document to another document in Internet Explorer ?

2321


How can you Navigate from the DHTML application to another DHTML application? .

2237


What are the Differenct Types of Instancing Property in ActiveX Dll and Exe?

2152


What are the types of Error? In which areas the Error occurs?

2160


What is snapshot in vb?

1009


What is the difference between Msgbox Statement and MsgboxQ function?

2030