Web Services & Late Binding

Hello Experts,

I have a couple of questions about a project I am working on, but first some details on my project.

It is a Access 2003 FE with a SQL Server 2000 BE.
There are approx. 400 users in 4 different locations throughout the city.
Every day, the user's application launcher will download the newest version of the FE to the user's computer.
Most of the users will be using the Access 2003 Runtime, but about 20-30 users will have the full version.
This project sends/recieves data to/from a web service.
I am using the Package Wizard to install the runtime and the project.

Now for the questions.

When I did a test deployment using the runtime, I recieved an error stating that I was missing the MSSOAP30.dll reference. I found where this dll was stored on my computer and I copied it into the correct directory on the test computer. The project worked fine until I tried to use the web service. How do I register the dll when the project is installed?

Now I think that this is related. What is late binding and why/how should I use it?

I know that the last question is kinda broad, but if there are any questions I will answer them to the best of my knowledge.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

The difference between Late Binding and Early Binding...

Example of what early binding looks like in code...
    Dim objWord As Word.Application
    Set objWord = New Word.Application

Early Binding references the libary in References and avails the entire type libary to VBA immediately rather than having to be resolved during runtime.  This has the advantage of offering intellisence while you are coding as well as running faster during runtime.  It will also upgrade to libraries of latter versions but it will not dongrade the library.  The theory here is that subsequent versions have been built to be backwardly compatible so auto upgrading of the reference is allowed given the likelyhood that later versions have been designed to work with their predecessors but their predecessors will not necessarily work with newer libaries that avail a host of new features unkown to the older libary.

Example of what late binding looks like in code...
    Dim objWord as Object
    Set objWord = CreateObject("word.application")

Late binding knows nothing of the object library until the line of code is executed and it is at that time that the hiearcy needed for that specific line of code is resolved.  This late resolution that occures for every line of code causes slower performance but is more forgiving if mismatched versions.  For example, if you were developing on Office XP (2002) Version 10, and moved to a machine running Office 2000, (Verson 9), you would not need to update the references and provided none of your code used something that was 2002 specific the code would run fine, albeit a little slower.  A good example where Late binding can often have advantages involves cases using Outlook.  Many developers will install mutiple versions of office on one machine allowing them to set references specific to the version they want to use but only one version of Outlook can be installed so often the only version of Outlook the can reference is the latest and only version they have installed (not allways what they care to release).  Another downside of late binding is the loss of intellisense due to the fact that the type libary is not resolved until the line of code is about to be run.

As a general rule Early Binding is preferable.  When late binding is prefered it is common for developers to code it using early binding, which allowes them to take advantage of intellisense and then revise the code slighly to use late binding just before they release the application.


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft Access

From novice to tech pro — start learning today.