Ich entwickle ein Add-In, das einige Daten auf den Mailitems speichern muss. Ich verwende die Redemption-Bibliothek und die MAPI.Utils HrSetOneProp-Methode.Benutzerdefinierte Eigenschaft MAPI_E_OBJECT_CHANGED
Nur in Outlook 2016 bekomme ich "Fehler in IMAPIProp :: SaveChanges: MAPI_E_OBJECT_CHANGED" jedes Mal, wenn ich einen zweiten Aufruf der Methode auf dem gleichen Mail-Element.
Es wurde versucht, RDO-Objekte für die Einlösung zu verwenden, und auch OOM mit denselben Ergebnissen. Hier
ein Beispiel:
SafeMailItem m = RedemptionGM9.SafeMailItem;
m.Item = mailItem; // this mailitem came as parameter in the function and it is the activeExplorer slection
MAPIUtils utils = RedemptionGM9.MAPIUtils;
string sGUID = PS_PUBLIC_STRINGS.ToString("B");
int iID = m.GetIDsFromNames(sGUID, GMLINK);
if (iID != 0)
{
//this is the method that is failing every second time for the same mailitem until you restart outlook.
utils.HrSetOneProp(mailItem.MAPIOBJECT, iID, bForceGMPropTrue ? true : !String.IsNullOrEmpty(sAccNo), true);
}
Marshal.ReleaseComObject(utils);
utils = null;
Marshal.ReleaseComObject(m);
m = null;
//mailitem com object is released outside this method
Bitte überprüfen Sie [mcve] ans [fragen] – Claudius
Was ist der relevante Ausschnitt Ihres Codes? –
dort habe ich ein Stück des Codes –