Это странно.Сохраненный Outlook MailItem еще не имел EntryId
У меня есть сохраненный прогноз MailItem (.msg файл) открыт с внешней стороны Outlook, что по какой-то причине еще не имеет своего EntryID набор:
Некоторые контекст:
- Этот MailItem - это сохраненный файл .msg, открытый из проводника Windows, а не из Outlook.
- В моем коде я изначально начинаю с вложения, а затем получаю MailItem в качестве родителя.
Если я проверить MailItem во время отладки, то EntryID либо нуль или пустая строка ...
... НО если (например) я расширяю m_ObjectToDataMap
, пока я не получаю до _rcw
и развернуть , что object's Dynamic View
- то есть, когда EntryID устанавливается.
Это как если MailItem еще не загружен полностью, а некоторые проверки значений в отладчике каким-то образом завершают инициализацию MailItem.
Я попытался:
- Ожидание несколько секунд с
System.Threading.Thread.Sleep()
. parent.Save()
хотя я знаю, что это не новый состав MailItem.- Обновление активного инспектора.
- пытается получить MailItem с помощью других методов вместо того, чтобы отключить его.
Ничего из этого не исправить проблему. Почему это происходит? Как мне исправить или обойти эту проблему? Любая помощь приветствуется.
Будет ли отсутствие EntryId на MailItem точным тестом на то, является ли он автономным или нет? Мне нужно будет учитывать это в моем коде, так что возможность определить, был ли MailItem открыта извне Outlook, будет весьма ценным. –
Нет, это также может быть связано с тем, что сообщение еще не сохранено. –
Спасибо за ответ, я здесь, чтобы учиться. Каким будет рекомендуемый способ определить, был ли открыт MailItem извне Outlook? –