Как исправить "отправить электронную почту" через Delphi Winapi.Mapi? - PullRequest
1 голос
/ 11 апреля 2019

Я обновляю Microsoft Office с версии 2016 до версии 2019. После этого моя Delphi-программа не может открыть новое почтовое окно Outlook. Программа использует SimpleMapi через Winapi.Mapi для запуска Outlook.

Приложение Outlook установлено как стандартное приложение для отправки писем. Реестр Windows не содержит MAPI-Key в стандарте, как раньше. Я попытался добавить следующие ключи MAPI в реестр Windows, но безуспешно.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Messaging Subsystem]
"MAPI"="1"
"MAPIX"="1"
"OLEMessaging"="1"
"CMC"="1"
"MAPIXVER"="1.0.0.1"
"CMCDLLNAME32"="mapi32.dll"

Причина, по которой я попробовал это, заключается в том, что Winapi.Mapi ищет в MKI-подсистемах HKLM \ Software \ Microsoft \ Windows Messaging ключи MAPI, чтобы загрузить MAPI32.dll установленного стандартного почтового приложения. Якобы MAPI недоступен, если Winapi.Mapi попытался загрузить его. Замечание: функционал mailto работает нормально.

Таким образом, моя программа отлично работает с более старыми версиями Microsoft Office, такими как 2016 и более ранние версии, но не с версией 2019. Вопрос: в чем причина неудачи? является ли причиной этого конфигурация реестра или, возможно, устаревшая версия Embarcadero lib?

Надеюсь, описание проблемы было достаточно ясным. Надеюсь, вы можете помочь мне.

...