Re: Problems displaying the correct form when converting a mailite



I changed the code to do as you suggested. I haven't been able to get to the
display issue because the GetItemFromID throws an exception. I had the
assignment of the mailItem's EntryID both before and after the MOVE. I
wasn't sure if the EntryID would change after the move. The curious thing
is that the EntryID that is being returned from the copied mailItem is the
same everytime. I am using the StoreID property of the destination
MAPIFolder "_oTechFolder".

The exception from GetItemFromID is "Operation Failed"....any advice?

private void DisplayIFGMessage(string sMailId)
{
try
{
Outlook.MailItem ifgMail = _NameSpace.GetItemFromID(sMailId,
_oTechFolder.StoreID) as Outlook.MailItem;
ifgMail.Display(true);
}
catch (Exception exception)
{
_StreamWriter.WriteLine("EXCEPTION: " + exception.Message);
}
}

private void ConvertToIFGMessage(Outlook.MailItem mail)
{
string sMailId = null;
try
{
Outlook.MailItem copyMail = mail.Copy() as Outlook.MailItem;
copyMail.MessageClass = "IPM.Note.IFGXChange";
copyMail.To = "P-US-Interfaces Tech";
copyMail.Save();

// TRIED HERE AS WELL; placed after move.
// sMailId = copyMail.EntryID;

copyMail.Move(_oTechFolder);

sMailId = copyMail.EntryID;

Marshal.ReleaseComObject(copyMail);
copyMail = null;
}
catch (Exception exception)
{
_StreamWriter.WriteLine("EXCEPTION: " + exception.Message);
}

_StreamWriter.WriteLine("MAIL ID: " + sMailId);

DisplayIFGMessage(sMailId);

return;
}

--
Uncle Vito


"Ken Slovak - [MVP - Outlook]" wrote:

After you move the email release it and probably call
Marshal.Release.ComObject on it. Before that get the EntryID and StoreID of
the item (StoreID from item.Parent.EntryID after the move). Then
reinstantiate the item from the ID's and open that. If necessary set the
message class again of the item before you call Display() on it.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Absolute Beginner's Guide to Microsoft Office Outlook 2003
Reminder Manager, Extended Reminders, Attachment Options
http://www.slovaktech.com/products.htm


"Uncle Vito" <gjattili@xxxxxxxx> wrote in message
news:72CE1B0A-51C7-419D-A37A-F442430ECDCD@xxxxxxxxxxxxxxxx
Using VSTO 2005 SE and Outlook 2003 (SP2), I am attempting to take a
message
that resides in the inbox, copy it to another folder, present it to the
user
for editing and be done. Upon selection of a context menu entry the
following code is executed which simply copies the message, changes the
message class, saves the message, moves it to a the destination folder and
displays the message for editing. "IFGXChange" is a form published on
the
destination folder and to be sure I even published it on the inbox.

My issue is that when I invoke the Display of that message it is displayed
using the default form and not the one which is affiliated with the
message
class. However, if I close the message and then view the message from the
target folder it is displayed using the correct form.

Is there something obvious I am missing in order to get the correct form
displayed for editing the message.

try
{
Outlook.MailItem copyMail = mail.Copy() as
Outlook.MailItem;
copyMail.MessageClass = "IPM.Note.IFGXChange";
copyMail.To = "P-US-Interfaces Tech";
copyMail.Save();

copyMail.Move(_oTechFolder);

copyMail.Display(true);
}
catch (Exception exception)

--
Uncle Vito


.



Relevant Pages

  • Re: asynchronous delegates and events question
    ... which the UI is to display. ... directly from the background thread, ... I've read that if an exception ... > public InitializeComponentDelegate initializeComponent = new ...
    (microsoft.public.dotnet.languages.csharp)
  • RE: Object reference error - Microsoft code
    ... ToStringdoes not checks for NULL and thorws an exception while ... DisplayValues sub and on the setting of txtMsg.Text value in the For...Next ... ' Display a confirmation message. ... at System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) ...
    (microsoft.public.dotnet.framework.aspnet)
  • Multithreaded tkinter GUI application exception handling
    ... from server and display those images. ... The problem is when I tried to close that display window (click on the ... Exception in thread Thread-1: ...
    (comp.lang.python)
  • Re: CLR Exceptions not getting handled in try/catch
    ... The problem I'm having is something with either my .NET Framework ... When an exception is thrown by the CLR, what decides how that information is ... My machine is showing the "Send information to Microsoft" dialog. ... What setting on my machine decides which dialog to display? ...
    (microsoft.public.dotnet.framework)
  • Re: Problems displaying the correct form when converting a mailitem
    ... Before that get the EntryID and StoreID of the item. ... If necessary set the message class again of the item before you call Display() on it. ... destination folder and to be sure I even published it on the inbox. ... Is there something obvious I am missing in order to get the correct form ...
    (microsoft.public.outlook.program_forms)