Outlook Banter

Outlook Banter (http://www.outlookbanter.com/)
-   Add-ins for Outlook (http://www.outlookbanter.com/add-ins-outlook/)
-   -   Application.ActiveInspector().CurrentItem Returns Wrong(Old) Value (http://www.outlookbanter.com/add-ins-outlook/90861-application-activeinspector-currentitem-returns-wrong.html)

Deepak N May 27th 09 08:49 AM

Application.ActiveInspector().CurrentItem Returns Wrong(Old) Value
 
I have outlook plugin in which OnLoad of Ribbon on contact form(custom form),I access Application.ActiveInspector().CurrentItem as ContactItem.

When I open a contact
*First time Application.ActiveInspector().CurrentItem gives correct value.
*Then I change First Name of this contact in Exchange server through code.
*Then i synchronize Outlook with exchange server and open the form, it displays old value of the contact. If try to edit and save it says contact being edited by other user or program

It is not Sync issue SINCE It displays the new value in the Contact's Business card view!!..
Submitted using http://www.outlookforums.com

Ken Slovak - [MVP - Outlook] May 27th 09 02:23 PM

Application.ActiveInspector().CurrentItem Returns Wrong(Old) Value
 
It sounds like you haven't released all object references to that original
object. Make sure you do that. Using managed code you might also have to
call Marshal.ReleaseComObject() on the object as well as GC.Collect().

In addition, make sure you aren't creating implicit object variables that
you cannot release. That happens when you use multiple dot operators such as
this:

explorer.Selection.Count

That creates an implicit Selection object that you can't release. The better
way is to do something like this:

Outlook.Selection selection = explorer.Selection;
int count = selection.Count;

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007.
Reminder Manager, Extended Reminders, Attachment Options.
http://www.slovaktech.com/products.htm


"Deepak N" endeep123[at]gmail[dot]com wrote in message
...
I have outlook plugin in which OnLoad of Ribbon on contact form(custom
form),I access Application.ActiveInspector().CurrentItem as ContactItem.

When I open a contact
*First time Application.ActiveInspector().CurrentItem gives correct value.
*Then I change First Name of this contact in Exchange server through code.
*Then i synchronize Outlook with exchange server and open the form, it
displays old value of the contact. If try to edit and save it says contact
being edited by other user or program

It is not Sync issue SINCE It displays the new value in the Contact's
Business card view!!.. Submitted using http://www.outlookforums.com



Deepak N June 7th 09 04:46 PM

Application.ActiveInspector().CurrentItem Returns Wrong(Old) Value
 
Thanks for reply.
Is it necessary release a COM Object, if a COM object is passed as parameter to a method.

Ex:
PrintName(ContactItemClass contact)
{
Console.WriteLine(contact.FirstName);
//Is it necessary to call Marshal.ReleaseComObject(contact) here
}.
Submitted using http://www.outlookforums.com

Ken Slovak - [MVP - Outlook] June 8th 09 01:55 PM

Application.ActiveInspector().CurrentItem Returns Wrong(Old) Value
 
That depends on whether or not you intend to use any references to that item
again. If you call Marshal.ReleaseComObject() on it that will release the
item's RCW and unless you re-instantiate another object on that item any
further references to it will return an exception.

At some point the object reference should be released, but when depends on
any further need for it.

--
Ken Slovak
[MVP - Outlook]
http://www.slovaktech.com
Author: Professional Programming Outlook 2007.
Reminder Manager, Extended Reminders, Attachment Options.
http://www.slovaktech.com/products.htm


"Deepak N" endeep123[at]gmail[dot]com wrote in message
...
Thanks for reply.
Is it necessary release a COM Object, if a COM object is passed as
parameter to a method.

Ex: PrintName(ContactItemClass contact)
{
Console.WriteLine(contact.FirstName);
//Is it necessary to call Marshal.ReleaseComObject(contact) here
}. Submitted using http://www.outlookforums.com




All times are GMT +1. The time now is 08:15 AM.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 2.4.0
Copyright ©2004-2006 OutlookBanter.com