2008-10-18 2 views
10

Я работаю над проектом базы данных, и мне нужно создать плагин Outlook 2007, который сохраняет текущее предварительно просмотренное сообщение в моей базе данных.Как создать плагин Outlook с помощью Delphi?

Может кто-нибудь дать мне пошаговое руководство о том, как создать плагин Outlook в Delphi и как его развернуть?

Благодаря

ответ

12

Если вы просто хотите узнать и понять, как это сделать, просто Google для Delphi Outlook addin (я уверен, что «addin» должен дать вам гораздо более релевантные результаты, чем «плагин» в этом контексте), и вы должны придумайте несколько слегка устаревших, но все же формально правильно добавленных образцов, например Babelfish addin от Дмитрия Стреблеченко (который больше не полезен, потому что веб-сервис, на котором он опирается, больше не существует, но по-прежнему показывает основы) или образец addin от Paul Qualls (который, к сожалению, больше не доступен с исходного сайта). Там также есть mail whitelister addin, доступный с полным исходным кодом, но я пока не смотрел.

Однако рано или поздно вы получите , чтобы начать использовать проверенную инфраструктуру, например ADX, особенно если ваша добавка будет использоваться вне вашей компании. Мы разрабатываем shareware addin в Delphi, и около 75% кода в аддине есть там, чтобы обеспечить поддержку различных версий Outlook (особенно Outlook XP) и разных настроек (в частности, возможность использования Word для редактирования сообщений была главный стол-знак для нас).

Другим фактором является постоянная работа над глупой моделью безопасности OOM. Вы в значительной степени разорены без Redemption или Outlook Security Manager. Искупление особенно не рекомендуется было достаточно высоко, не только для того, чтобы избежать подсказок безопасности, но и для упрощения множества утомительных рутинных задач с прочной, простой в использовании структурой.

[Дополнение:] Мы действительно начали с нашего собственного доморощенного фреймворка, и все было хорошо с ним до тех пор, пока количество пользователей и их количество различных конфигураций для поддержки взорвалось. Мы перешли на ADX около года назад и никогда не оглядывались назад. Использование Redemption было без проблем с самого начала, хотя - либо это, либо потратить месяцы на изучение Extended MAPI до того, как мы даже начали работу (вы все еще склонны выбирать это намного проще, когда вы идете вперед, когда Redemption направляет вас на первые несколько препятствий).

BTW: Еще один незаменимый инструмент для любого уважающего разработчика добавок (независимо от используемого языка программирования) - OutlookSpy. Это действительно позволит вам увидеть (и манипулировать) то, что происходит внутри Outlook (и в некоторой степени Exchange), как это происходит, и дать вам гораздо лучшее представление о том, что ваш addin должен будет сделать, чтобы добиться желаемого эффекта.

12

Add-in Express выглядит хорошо.

+2

Не только хорошо выглядит, я могу поручиться за то, что он хорош. Очень довольный клиент. – 2011-11-15 23:12:36

+0

Добавить в экспресс очень хорошо. – 2011-11-16 17:16:50

5

Я создал плагин один раз для использования в Excel (создание собственных пользовательских функций) с помощью Delphi. Что вам нужно, это Addin, который реализует интерфейс _IDTExtensibility2.

Теперь я не знаю точных шагов, но поиск _IDTExtensibility2 поможет вам много.

Проверьте, пожалуйста, article. Процедура OnConnection интерфейса _IDTExtensibility2 дает вам вход в приложение Outlook.

9

Я построил надстройку с использованием Delphi (интегрируя систему бронирования номеров в форму для встречи).

Некоторые советы:

  • Купить и использовать add-in express. Это сэкономит вам много времени и позволит вам создавать надстройки COM, которые не требуют каких-либо сторонних компонентов во время установки. Сначала мы попытались создать свой собственный компонент, и хотя нам удалось наложить кнопки на формы, которые что-то сделали, количество затраченного времени было несоразмерным результату.
  • Используйте службу поддержки экспресс-поддержки, если у вас есть сомнения. Они знают свой материал.
  • COM-интерфейс для внешнего вида (находится в delphi/ocx/servers/folder) является вашим другом. Add-In Express просто предоставляет (намного) более удобную оболочку вокруг этой функциональности.

вещи, чтобы избежать:

  • Прямые вызовы MAPI. Это можно сделать, и на самом деле мне пришлось прибегать к нему для изменения потоков сообщений в пути, но это реальная PITA для работы и очень плохо документирована.
  • Одноразовые формы. Мы потратили много времени на то, чтобы получить разовые формы для работы. Используйте только опубликованные формы. Вы можете опубликовать форму в локальной папке из кода, так что на практике это не имеет большого значения. Еще лучше использовать области формы, которые являются наиболее надежным способом расширения форм.
  • Притворство как COM в Delphi - это что-то вроде обычного программирования VCL. Мой совет, если у вас нет опыта работы с COM, - это прочитать всю документацию, которую вы можете получить. Некоторые из усердных уроков заключались в том, чтобы всегда устанавливать переменные в ноль до конца функции, чтобы объекты могли правильно высвобождаться из-за внешнего вида и всегда запрашивать соответствующий интерфейс из объекта, а не пытаться его использовать.
-1

Плохое задание должно быть выполнено в Delphi. С .NET и VSTO создание Outlook добавок гораздо менее болезненно по сравнению с плохими старыми днями. Я сделал надстройки Office в COM (что было совсем не смешно) и в предыдущей версии VSTO, но VSTO 3 - очень хорошая новость для офисного разработчика.

Смежные вопросы