Solved

Problems creating ActiveX object using Extended MAPI

Posted on 2002-03-21
4
275 Views
Last Modified: 2006-11-17
Hi,

Back in March 2000 I developed a program which uses Extended MAPI to created and send e-mails via Microsoft Outlook. I had some problems creating the RTF format e-mail but fortunately managed to sort it all out with the help of "Neo" among others on this website. The program has since been running perfectly well on the target computer (it was developed for one specific client and has, up to now, been used on just the one computer). However, my client decided to install the system on another computer as well and when he did this it turned out that the Extended MAPI would not function correctly on it! Whenever it reaches the line of code which should create the MAPI.Session object it fails, with the 429 error message! I cannot see why this should be, in fact I have also tried installing the program on three other computers and it produces exactly the same error on all three, yet it is still working perfectly on the original computer on which it was installed! I have checked for files, etc., as I assumed that perhaps a file had become missing or corrupted, but even after replacing all the MAPI files and OLEMSG.DLL, file, etc. with ones from the development machine (on which it also still works fine), it still seems to show the same problem. I am now reaching the point where I will be bald very soon so, if anyone can help I would be extremely grateful. I am prepared to "go back" over everything and perhaps a fresh mind on the subject may point out something which I have missed (which could of course be very simple), so please don't worry about making "basic" suggestions; I will follow them all through. I need someone now with a "detached" view to "direct me". Thanks in anticipation of your assistance!! Cheers.

Colin.
CBIT Services.
0
Comment
Question by:cbitservices
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
4 Comments
 
LVL 3

Expert Comment

by:jbil
ID: 6885334
0
 
LVL 16

Accepted Solution

by:
Neo_mvps earned 300 total points
ID: 6885557
What revision of Outlook where they running on the old machine and where you using the Outlook Object model or Collaboration Data Objects 1.21 (CDO)?

What revision of Outlook are they running on the new machine and did they remember to install Colaboration Data Objects 1.21?

The reason that I ask is that the 429 error just means that the application couldn't create the object.  This means that the library could not be installed (e.g. Collaboration Data Objects is not installed by default under Outlook 2000/2002, installed by default under Outlook 98, and doesn't come with Outlook 97.)

Another likely scenerio is that the library is installed but just not registered.  An easy way to check is to review the registry.  For example, open the registry editor and open the HKEY_Classes_Root.  Have the person look for MAPI.Session and try to follow the pointers to see which DLL file it points to. (odds are it is cdo.dll on Outlook 98 and later.)

Outside of that, have the client be very wary of some of the later security fixes for Outlook 98 and later.  Some of these patches will remove CDO or replace it with a version that can cause the application to fail.
0
 
LVL 1

Author Comment

by:cbitservices
ID: 6885838
Thanks jbil,

The problem is, I think to do with "support" files, etc., and have done from the start which is why I think Neo could be right with his suggestions. Thanks for you comment anyway and I will take another look at your suggestion if neo's comment doesn't produce the answer.

Cheers,

Colin.
0
 
LVL 1

Author Comment

by:cbitservices
ID: 6886046
Thanks Neo for the quick, no nonsense solution! As I expected it was something quite simple but as I wasn't aware of this is wasn't simple for me! Thanks again,

Colin.
0

Featured Post

Enroll in May's Course of the Month

May’s Course of the Month is now available! Experts Exchange’s Premium Members and Team Accounts have access to a complimentary course each month as part of their membership—an extra way to increase training and boost professional development.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction I needed to skip over some file processing within a For...Next loop in some old production code and wished that VB (classic) had a statement that would drop down to the end of the current iteration, bypassing the statements that were c…
Introduction While answering a recent question about filtering a custom class collection, I realized that this could be accomplished with very little code by using the ScriptControl (SC) library.  This article will introduce you to the SC library a…
Get people started with the process of using Access VBA to control Excel using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Excel. Using automation, an Access application can laun…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question