Hello Everyone,

  • Thread starter Thread starter Guest
  • Start date Start date
G

Guest

Hello Everyone,

We have a Outlook 2003 AddIn developed in VB.NET (.NET1.1)

We have a customise form (.oft) for out contact item.
So when we open that Contact Form and click on the Insert->Item option on
the Menu bar; we get following error:

"Unhandled exception at 0x30069a0b in OUTLOOK.EXE: 0xC0000005: Access
violation reading location 0x00000000."

And then Outlook crashes!

What could be the problem and any solution to this problem?

Thanks,
Rupang
 
Why are you using an .oft file instead of a published custom form?
--
Sue Mosher, Outlook MVP
Author of Configuring Microsoft Outlook 2003

and Microsoft Outlook Programming - Jumpstart for
Administrators, Power Users, and Developers
 
We are using VS 2003 as the Dev Platform so we use .oft and publish it to the
Folder in outlook (only one time when we deploy the new form with changes).
I know of Custom Form in VS 2005, not sure what do you mean by Custom Forms
in VS 2003?
Pl let me know if any further info is required
Thanks,
Rupang
 
All versions of Outlook support publishing custom forms. My question is whether you're using the unpublished .oft form to create the new item or the published form. Your original post suggested that you're using the ..oft form.

If you are using the published form, to what folder are you publishing the form?

--
Sue Mosher, Outlook MVP
Author of Configuring Microsoft Outlook 2003

and Microsoft Outlook Programming - Jumpstart for
Administrators, Power Users, and Developers
 
I am using published form and I am publising it to the our own Custom Folder
in the Custom PST file.
 
Thanks for clearing that up. You didn't remove the large item body control on the custom form layout, did you? THat must be present if you want users to be able to attach files.

--
Sue Mosher, Outlook MVP
Author of Configuring Microsoft Outlook 2003

and Microsoft Outlook Programming - Jumpstart for
Administrators, Power Users, and Developers
 
Thats correct! The Large item body control does exists on the Contact Form
Layout.
Do I need to check any property ect?

And the Insert->File menu does work only this Insert-Item throws this
exception!
 
I don't have any ideas on why that won't work. DId you install the PIA for Outlook 2003 by running Office setup?

--
Sue Mosher, Outlook MVP
Author of Configuring Microsoft Outlook 2003

and Microsoft Outlook Programming - Jumpstart for
Administrators, Power Users, and Developers
 
That's correct! The PIA's are installed using the Office Setup.

Also the previous version of the Add-In works fine for this action as well!

Its just his new version that we release recently has introduced this issue!

There is no major change in any code or deployment technique!

Thanks,
 
Hi Rupang,

It sounds like you are not publishing the form correctly. You may want to
revisist the way that you are publishing the form. If you are following an
example from CodeProject with regard to publishing a form then that is the
reason you are getting the exceptions thrown.


Tom -
 
Below is the code for publishing the oft form:
Please suggest that if it seems to be the root cause then how should I
modify it?

myFolder = m_olOutlook.GetNamespace("MAPI").Folders.Item("My Contact
Management").Folders.Item("MyContacts")

myItem = m_olApp.CreateItemFromTemplate(myKey.GetValue("TemplatesPath") &
"\MyContact.oft", myFolder)
myItem.FormDescription.PublishForm(Outlook.OlFormRegistry.olFolderRegistry,
OpenMAPIFolder("\\My Contact Management\MyContacts"))
 
Hi Rupang,

Try moving the oft file to a location other than the template folder. I
believe that your problem is the "CreateItemFromTemplate" call. I believe I
had problems when I specified the last parameter and I see you are specifying
the contacts folder. Try removing that. That is what was giving me the
problem I believe. Also the form name is missing which might also be an issue.

Below is my C++ code which is sligtly different than yours.

CComVariant myFolder(DISP_E_PARAMNOTFOUND, VT_ERROR);
Outlook::_ContactItemPtr spCustomContactItem =
m_pApplication->CreateItemFromTemplate(
btCustomFormLocation,
myFolder);


spForm->PutName(_bstr_t(FORM_NAME_DEFINE));
spForm->PublishForm(Outlook::olFolderRegistry, _variant_t(spContacts, false));
 
In addition to Tom's suggestions, you should break out the operations that return the name of the .oft file

strOFTPath = myKey.GetValue("TemplatesPath") & "\MyContact.oft"
MessageBox.Show(strOFTPath) ' does this look right?

and the MAPIFolder object, especially the latter:

targetFolder = OpenMAPIFolder("\\My Contact Management\MyContacts")
If targetFolder Is Nothing Then
MessageBox.Show "You can't publish a form to a nonexistent folder"
Else
myItem = m_olApp.CreateItemFromTemplate(strOFTPath)
myItem.FormDescription.PublishForm(Outlook.OlFormRegistry.olFolderRegistry, targetFolder)
End If

Note that you don't need the second parameter for CreateItemFromTemplate.

--
Sue Mosher, Outlook MVP
Author of Configuring Microsoft Outlook 2003

and Microsoft Outlook Programming - Jumpstart for
Administrators, Power Users, and Developers
 
I tried to break the code as per Sue's suggestion and also per Tom's
suggestion I have the .oft file path @ C:\Program Files\My Contact
Management\Support folder
Do you think I should change this location as well?

Also if there is some problem with CreateItemFromTemplate( ) or
PublishForm() call then those call would throw an exception right?

Here everything works fine except when I click on Insert->Item instead of
showing a "Insert Item" Dialog box, it throws this exception! Now it looks
like the execution does not come to any event in my code and its been thrown
directly from the Outlook, so I can not even debug it.
Few other changes in this code are in the Item New, Item Open, Item Write
and Item Close events, does any of this changes has impact on this problem?

Thanks,
Rupang
 
Outlook doesn't care what the .oft file path is, only that it is accurate.

The Insert | Item error would seem to be a completely separate issue from publishing the form. I presume you have checked to see if machines exhibiting that problem have the same problem with items created with the standard contact form or a contact form published manually?

--
Sue Mosher, Outlook MVP
Author of Configuring Microsoft Outlook 2003

and Microsoft Outlook Programming - Jumpstart for
Administrators, Power Users, and Developers
 
Oh that's a good point! I have verifed that Only our custom form (published
using PublishForm method) causes this Insert | Item error and not the
Standerd Contact Form (IMP.Contact).
Also our Custom Form did not created error in our previous release, its just
this release which introduced this issue!

Thanks!
 
Did you also check whether the same form published manually has the same symptoms?

Other than that, I'm out of ideas. Maybe this is an issue worth filing a support incident with Microsoft.

--
Sue Mosher, Outlook MVP
Author of Configuring Microsoft Outlook 2003

and Microsoft Outlook Programming - Jumpstart for
Administrators, Power Users, and Developers
 
Back
Top