If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. |
|
|
Thread Tools | Display Modes |
#1
|
|||
|
|||
Different Versions of Object Libraries
I have Access 2000 and 2003 on my development machine. My client only has
Access 2000. When I develop for this client, I run Access 2000. However, my code requires that I have the Microsoft Word Object Library and Microsoft Outlook Object Library listed in References. As I result, on my machine they're listed as version 11.0, and then, when I upload the file, they show as missing. So I have to go through the steps of removing the references and then re-adding them on the client's machine for version 9.0. Obviously this is a bit of a pain I'd prefer to avoid. I realize I could use late binding. But the code's already written, and I'd prefer not to have rewrite everything -- at least not at this point. Any ideas for how I can make this work without having to continually remove and re-add the libraries? Thanks. |
#2
|
|||
|
|||
Different Versions of Object Libraries
Since your app must work with the older libraries, why not just set a
reference to those libraries instead of v11.0 fo that project? Steve "Phil Reynolds" wrote: I have Access 2000 and 2003 on my development machine. My client only has Access 2000. When I develop for this client, I run Access 2000. However, my code requires that I have the Microsoft Word Object Library and Microsoft Outlook Object Library listed in References. As I result, on my machine they're listed as version 11.0, and then, when I upload the file, they show as missing. So I have to go through the steps of removing the references and then re-adding them on the client's machine for version 9.0. Obviously this is a bit of a pain I'd prefer to avoid. I realize I could use late binding. But the code's already written, and I'd prefer not to have rewrite everything -- at least not at this point. Any ideas for how I can make this work without having to continually remove and re-add the libraries? Thanks. |
#3
|
|||
|
|||
Different Versions of Object Libraries
The only realistic solution here is to re-write your code for late biding.
Even a update to word or placing you software on a machine where they had a custom install of office can break you code. There is not really much here I can add. You kind of being like a mechanic who asking how to avoid changing oil in the car. There is just not a reasonable answer here. Either you have 100% control over how office is installed on the target machine. Remember, even machine with the SAME version office can break if pathnames are changed. You have to bite the bullet. The result is code that will not break if word is missing, upgraded, or is a different version. It really not that hard to change to late binding. I always develop using early binding to get the code working, and also have inti-sense during development. Once the code is working, then you flip it over to late binding. -- Albert D. Kallal (Access MVP) Edmonton, Alberta Canada |
#4
|
|||
|
|||
Different Versions of Object Libraries
If you do not use late binding, then you have to set reference to older
version of Word/Outlook object library on your developing machine (that is, you have older Word/Outlook installed). So, either use late binding; or (when using early binding) develop against oldest version of automation server apps, if your app has to automate multiple version of auotmation server apps, and hope the new version is compatible to older version (MS Office apps are good on backward compatibility). "Phil Reynolds" wrote in message . .. I have Access 2000 and 2003 on my development machine. My client only has Access 2000. When I develop for this client, I run Access 2000. However, my code requires that I have the Microsoft Word Object Library and Microsoft Outlook Object Library listed in References. As I result, on my machine they're listed as version 11.0, and then, when I upload the file, they show as missing. So I have to go through the steps of removing the references and then re-adding them on the client's machine for version 9.0. Obviously this is a bit of a pain I'd prefer to avoid. I realize I could use late binding. But the code's already written, and I'd prefer not to have rewrite everything -- at least not at this point. Any ideas for how I can make this work without having to continually remove and re-add the libraries? Thanks. |
#5
|
|||
|
|||
Different Versions of Object Libraries
On Sep 25, 9:54 am, "Albert D. Kallal"
wrote: You have to bite the bullet. The result is code that will not break if word is missing, upgraded, or is a different version. I have a healthy respect for Albert's depth of knowledge and length of experience. And all that he says applies but not all of the time. So the safe way to develop to cover all scenarios is to do what he says. HOWEVER If you are not trying to be all things to all people and only have a specific case and a specific problem and you don't like making adjustments to how you are doing things, run two machines, virtual (VirtualPC or VMWare) or physical, separate your Office versions and test what you can before delivering. In this day and age, the cost of acquiring a second physical machine and software is VERY LOW compared to when we started in 1990 or 1985. The cost of running a virtual machine is even lower as long as you have enough RAM and hard disk space. |
#6
|
|||
|
|||
Different Versions of Object Libraries
OK, thanks. That's good to know.
"Albert D. Kallal" wrote in message ... The only realistic solution here is to re-write your code for late biding. Even a update to word or placing you software on a machine where they had a custom install of office can break you code. There is not really much here I can add. You kind of being like a mechanic who asking how to avoid changing oil in the car. There is just not a reasonable answer here. Either you have 100% control over how office is installed on the target machine. Remember, even machine with the SAME version office can break if pathnames are changed. You have to bite the bullet. The result is code that will not break if word is missing, upgraded, or is a different version. It really not that hard to change to late binding. I always develop using early binding to get the code working, and also have inti-sense during development. Once the code is working, then you flip it over to late binding. -- Albert D. Kallal (Access MVP) Edmonton, Alberta Canada |
#7
|
|||
|
|||
Different Versions of Object Libraries
Thanks.
"AnandaSim" wrote in message ups.com... On Sep 25, 9:54 am, "Albert D. Kallal" wrote: You have to bite the bullet. The result is code that will not break if word is missing, upgraded, or is a different version. I have a healthy respect for Albert's depth of knowledge and length of experience. And all that he says applies but not all of the time. So the safe way to develop to cover all scenarios is to do what he says. HOWEVER If you are not trying to be all things to all people and only have a specific case and a specific problem and you don't like making adjustments to how you are doing things, run two machines, virtual (VirtualPC or VMWare) or physical, separate your Office versions and test what you can before delivering. In this day and age, the cost of acquiring a second physical machine and software is VERY LOW compared to when we started in 1990 or 1985. The cost of running a virtual machine is even lower as long as you have enough RAM and hard disk space. |
#8
|
|||
|
|||
Different Versions of Object Libraries
That would be fine. Only thing is, when I go to set the reference, I only
have the option to set it to Word/Office 11.0 (even though I'm running Access 2000 (9.0) at the time I'm setting the reference). So, are you saying I should set the reference on my client's machine (to 9.0) and then copy the file back. Or are you saying that there's a way to set the reference to the earlier version on my machine, because I'm not seeing how. Thanks! "Norman Yuan" wrote in message ... If you do not use late binding, then you have to set reference to older version of Word/Outlook object library on your developing machine (that is, you have older Word/Outlook installed). So, either use late binding; or (when using early binding) develop against oldest version of automation server apps, if your app has to automate multiple version of auotmation server apps, and hope the new version is compatible to older version (MS Office apps are good on backward compatibility). "Phil Reynolds" wrote in message . .. I have Access 2000 and 2003 on my development machine. My client only has Access 2000. When I develop for this client, I run Access 2000. However, my code requires that I have the Microsoft Word Object Library and Microsoft Outlook Object Library listed in References. As I result, on my machine they're listed as version 11.0, and then, when I upload the file, they show as missing. So I have to go through the steps of removing the references and then re-adding them on the client's machine for version 9.0. Obviously this is a bit of a pain I'd prefer to avoid. I realize I could use late binding. But the code's already written, and I'd prefer not to have rewrite everything -- at least not at this point. Any ideas for how I can make this work without having to continually remove and re-add the libraries? Thanks. |
#9
|
|||
|
|||
Different Versions of Object Libraries
If you don't have the other versions on your machine you are probably stuck
with late binding. Steve "Phil Reynolds" wrote: That would be fine. Only thing is, when I go to set the reference, I only have the option to set it to Word/Office 11.0 (even though I'm running Access 2000 (9.0) at the time I'm setting the reference). So, are you saying I should set the reference on my client's machine (to 9.0) and then copy the file back. Or are you saying that there's a way to set the reference to the earlier version on my machine, because I'm not seeing how. Thanks! "Norman Yuan" wrote in message ... If you do not use late binding, then you have to set reference to older version of Word/Outlook object library on your developing machine (that is, you have older Word/Outlook installed). So, either use late binding; or (when using early binding) develop against oldest version of automation server apps, if your app has to automate multiple version of auotmation server apps, and hope the new version is compatible to older version (MS Office apps are good on backward compatibility). "Phil Reynolds" wrote in message . .. I have Access 2000 and 2003 on my development machine. My client only has Access 2000. When I develop for this client, I run Access 2000. However, my code requires that I have the Microsoft Word Object Library and Microsoft Outlook Object Library listed in References. As I result, on my machine they're listed as version 11.0, and then, when I upload the file, they show as missing. So I have to go through the steps of removing the references and then re-adding them on the client's machine for version 9.0. Obviously this is a bit of a pain I'd prefer to avoid. I realize I could use late binding. But the code's already written, and I'd prefer not to have rewrite everything -- at least not at this point. Any ideas for how I can make this work without having to continually remove and re-add the libraries? Thanks. |
#10
|
|||
|
|||
Different Versions of Object Libraries
"Phil Reynolds" wrote:
I realize I could use late binding. But the code's already written, and I'd prefer not to have rewrite everything -- at least not at this point. FWIW Late Binding should only take ten minutes or half hour per instance of using the Word or Outlook libraries to implement. And it's quite stable. I have many clients running an app with late binding to Outlook and I know they don't have Outlook installed. Tony -- Tony Toews, Microsoft Access MVP Please respond only in the newsgroups so that others can read the entire thread of messages. Microsoft Access Links, Hints, Tips & Accounting Systems at http://www.granite.ab.ca/accsmstr.htm Tony's Microsoft Access Blog - http://msmvps.com/blogs/access/ |
Thread Tools | |
Display Modes | |
|
|