Я столкнулся с этим случаем, что, если я получил MailItem
из OOM, и это электронное письмо является новым, оно будет иметь значение null
. Если я использую метод RDOSession.GetRDOObjectFromOutlookObject
для получения RDOMail
из этого MailItem
, полученный RDOMail
будет иметь все свойства либо null, либо установить их значение по умолчанию, а их изменение не изменит значение для соответствующих свойств в исходном MailItem
.
Используя тот же метод для получения RDOMail
из существующего MailItem
(тот, у которого есть действительный идентификатор записи), отлично работает.
Это поведение не описано в документации по выкупу. Просто интересно, нет ли здесь чего-то здесь?
Это то, что объектная модель Outlook всегда делала (или, скорее, не делала) - до тех пор, пока элемент не будет сохранен, последние изменения, заданные через пользовательский интерфейс или объектную модель Outlook, будут недоступны через MAPI.
Основная цель GetRDOObjectFromOutlookObject состоит не в том, чтобы облегчить доступ к несохраненным изменениям, а скорее в том, чтобы и Redemption, и OOM работали с одним и тем же объектом IMessage, полученным из MailItem.MAPIOBJECT.