![]() |
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 |
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 |
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 |
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