[AccessD] Missing references

Drew Wutka DWUTKA at Marlow.com
Mon Feb 19 11:08:10 CST 2007


Yes, I'm listening...been sick since last Wednesday...just coughed and
sneezed in envelope for ya, what's your mailing address? <grin>

All this binding early/late of Excel, haven't ya all figured out how to
use ADO to modify excel files?  Admittedly, it doesn't do formatting,
but for data transfers it rocks!

Drew

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby
Sent: Friday, February 16, 2007 9:39 AM
To: 'Access Developers discussion and problem solving'
Subject: Re: [AccessD] Missing references

It is quantifiable.  I have a class for timing things and you can do
late
binding vs. early binding in a loop a million times to measure the
effects
of each.  Essentially binding requires the compiler to look up the
object in
an object table to obtain the pointer to the object as well as the
parameters, their types, the return type if any etc.  Early binding does
that at compile time, once.  Late binding does the exact same thing at
run
time, every time the object is resolved.  

The question is, how often is it done?  For example, if you have a
global
reference to a word object, at runtime the object has to be resolved,
but
since it is a global variable, it is only resolved once, and so the hit
is a
once-off affair.  

Now take the example of a reference to a word object in the header of a
class module.  Now this has to be done once, every time the class loads,
for
each instance of the class loading.

Now take the example of a reference to a cell in a spreadsheet
dimensioned
in a method of a class.  The object has to be resolved every time the
function is called.  That may be once, or it may be hundreds or
thousands of
times.  

Notice that in ALL cases, the object is resolved ONCE for each dimension
statement.  The difference between these three examples is the LOCATION
of
the dimension statement.  

It is actually possible in VBA to dimension an object down in code, so
you
could literally dimension an object inside of a loop.  Generally
speaking
that would be a disaster using late binding.  

Actually dimensioning a variable of any kind down in the middle of code
is
considered bad practice anyway.

DREW are you listening?

Bad Practice.  Bad Practice.  Bad Practice.  Bad Practice.  Bad
Practice.
Bad Practice.  Bad Practice.  Bad Practice.  Bad Practice.  Bad
Practice.
Bad Practice.  Bad Practice.  Bad Practice.  Bad Practice.  Bad
Practice.
Bad Practice.  Bad Practice.  Bad Practice.  Bad Practice.  Bad
Practice.
Bad Practice.  Bad Practice.  Bad Practice.  Bad Practice.  Bad
Practice.
Bad Practice.  Bad Practice.  Bad Practice.  Bad Practice.  Bad
Practice.
Bad Practice.  

<HUGE grin>

John W. Colby
Colby Consulting
www.ColbyConsulting.com

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of
artful at rogers.com
Sent: Friday, February 16, 2007 10:21 AM
To: Access Developers discussion and problem solving
Subject: Re: [AccessD] Missing references

Is this verifiable, Jim? I haven't ever used late-binding, which I admit
has
caused various installation issues, but I am curious. Is this a
thumbnail
calculation or can you supply concrete arithmetical evidence?

A.



----- Original Message ----
From: Jim Dettman <jimdettman at verizon.net>
To: Access Developers discussion and problem solving
<accessd at databaseadvisors.com>
Sent: Friday, February 16, 2007 9:49:44 AM
Subject: Re: [AccessD] Missing references


Bryan,

  One thing you didn't mention is the performance hit; late binding
costs
you 10-15% for every operation perform.

Jim.
--
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com

-- 
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com



More information about the AccessD mailing list