Как лучше всего обеспечить будущее приложение, которое необходимо подключить к Outlook? - PullRequest
4 голосов
/ 03 мая 2010

У меня есть приложение для управления контактами, написанное на Delphi, которое имеет функцию «Синхронизация с Outlook», которую я разработал 10 лет назад. Теперь я вернусь, чтобы добавить некоторые функции и исправить некоторые ошибки. Эта функция синхронизации использует объектную модель Outlook для начала работы, но у нее есть дополнительный режим, называемый «Использовать улучшения MAPI», где она использует чистый MAPI для ускорения поиска изменений и позволяет синхронизировать заметки с RTF вместо просто текст.

Мне интересно, является ли поддержка двух параллельных путей выполнения хорошей идеей или нет.

Если бы я использовал все MAPI, я бы предпочел избегать некоторых запросов безопасности и избегать ситуаций, когда антивирус имеет функции «блокировки сценариев», которые блокируют подключение моего приложения к Outlook. Но я считаю, что, с другой стороны, мое 32-разрядное приложение не сможет подключиться к 64-разрядному Outlook 2010 с помощью MAPI. И мне интересно будущее MAPI в целом.

Если я придерживаюсь объектной модели Outlook, сможет ли мое 32-разрядное приложение подключиться к объектной модели Outlook (так как оно находится вне процесса COM)? Если это так, это убедительная причина для сохранения пути выполнения моей объектной модели Outlook. Но если нет, и если мое приложение должно быть скомпилировано для x64, то почему бы просто не использовать чистый MAPI?

Ответы [ 2 ]

12 голосов
/ 04 мая 2010

Это правильно, вам нужно будет скомпилировать код в 32-битной или 64-битной версии в зависимости от разрядности Outlook.

Что касается будущего MAPI, оно все еще там и активно поддерживается MS. Outlook 2010 по-прежнему чистый MAPI.

0 голосов
/ 04 мая 2010

Я подтвердил путем тестирования, что: 1. 32-разрядное приложение может подключаться к Outlook 2010 x64 с помощью автоматизации COM. 2. 32-разрядное приложение не может подключиться к Outlook 2010 x64 через чистый MAPI.

Итак, мне кажется, что мне лучше сохранить мой код автоматизации COM Outlook для поддержки Outlook 2010 x64, а мой код MAPI можно использовать только в x86 Outlook.

Но я заметил, что в Outlook 2007 был добавлен объект PropertyAccessor, который позволит вам читать свойства MAPI, не прибегая к MAPI. Это может дать мне преимущества чтения / записи RTF Notes ... что является основной отсутствующей функцией, если я не могу использовать MAPI.

...