У меня есть приложение для управления контактами, написанное на Delphi, которое имеет функцию «Синхронизация с Outlook», которую я разработал 10 лет назад. Теперь я вернусь, чтобы добавить некоторые функции и исправить некоторые ошибки. Эта функция синхронизации использует объектную модель Outlook для начала работы, но у нее есть дополнительный режим, называемый «Использовать улучшения MAPI», где она использует чистый MAPI для ускорения поиска изменений и позволяет синхронизировать заметки с RTF вместо просто текст.
Мне интересно, является ли поддержка двух параллельных путей выполнения хорошей идеей или нет.
Если бы я использовал все MAPI, я бы предпочел избегать некоторых запросов безопасности и избегать ситуаций, когда антивирус имеет функции «блокировки сценариев», которые блокируют подключение моего приложения к Outlook. Но я считаю, что, с другой стороны, мое 32-разрядное приложение не сможет подключиться к 64-разрядному Outlook 2010 с помощью MAPI. И мне интересно будущее MAPI в целом.
Если я придерживаюсь объектной модели Outlook, сможет ли мое 32-разрядное приложение подключиться к объектной модели Outlook (так как оно находится вне процесса COM)? Если это так, это убедительная причина для сохранения пути выполнения моей объектной модели Outlook. Но если нет, и если мое приложение должно быть скомпилировано для x64, то почему бы просто не использовать чистый MAPI?