2008-10-18 6 views
10

Ich arbeite an einem Datenbankprojekt und ich muss ein Outlook 2007-Plugin erstellen, das die aktuelle Vorschaunachricht in meiner Datenbank speichert.Wie erstellt man ein Outlook-Plugin mit Delphi?

Kann mir jemand eine Schritt-für-Schritt-Anleitung geben, wie man ein Outlook-Plugin in Delphi erstellt und wie man es bereitstellt?

Dank

Antwort

12

Wenn Sie nur lernen und verstehen, wie es geht, googeln Sie einfach für Delphi Outlook Addin (Ich bin mir ziemlich sicher, "addin" sollte Ihnen viel relevanter Ergebnisse als "Plugin" in diesem Zusammenhang) und Sie sollten kommen mit einer Reihe von leicht datierten, aber immer noch formal korrekten Sample Addins, z die Babelfish addin von Dmitry Streblechenko (die nicht mehr nützlich ist, weil der Webservice, auf dem sie beruht, nicht mehr existiert, aber immer noch die Grundlagen zeigt) oder das Sample-Addin von Paul Qualls (das leider nicht mehr auf der Original-Site verfügbar ist). Es gibt auch eine mail whitelister addin mit vollständiger Quelle zur Verfügung, aber ich habe noch nicht angeschaut.

Aber früher oder später Sie werden wollen mit einem bewährten Framework wie ADX starten, vor allem, wenn Ihr Addin außerhalb Ihrer Firma verwendet wird. Wir entwickeln ein Shareware-Add-In in Delphi und etwa 75% des Codes im Add-in dient nur dazu, die verschiedenen Versionen von Outlook (insbesondere Outlook XP) und verschiedene Setups (vor allem die Option, Word für die Nachrichtenbearbeitung zu verwenden) zu unterstützen ein großer Tischbeißer für uns).

Ein weiterer Faktor ist, ständig um das dumme OOM-Sicherheitsmodell herum zu arbeiten. Du bist ziemlich kaputt ohne Redemption oder Outlook Security Manager dort. Vor allem Redemption konnte nicht hoch genug empfohlen werden, nicht nur um die Sicherheitsaufforderungen zu umgehen, sondern auch, um eine Vielzahl langwieriger Routineaufgaben mit einem soliden, benutzerfreundlichen Rahmen zu vereinfachen.

[Zusatz:] Wir haben mit unserem eigenen selbstgebauten Framework angefangen und alles war gut damit bis die Anzahl der Benutzer und damit die Anzahl der zu unterstützenden Konfigurationen explodierte. Wir sind vor ungefähr einem Jahr zu ADX gewechselt und haben nie zurückgeblickt. Die Verwendung von Redemption war von Anfang an ein Kinderspiel - entweder war es das oder wir verbrachten Monate damit, Extended MAPI zu lernen, bevor wir überhaupt angefangen haben (du nimmst das immer noch viel leichter auf, wenn du einmal über die Erlösung gelandet bist) erste Hürden).

BTW: Ein weiteres unentbehrliches Werkzeug für jeden Entwickler, der sich selbst respektiert (unabhängig von der verwendeten Programmiersprache) ist OutlookSpy. Dies ermöglicht es Ihnen wirklich, zu sehen (und zu manipulieren), was in Outlook (und zu einem gewissen Grad Exchange) passiert, und es gibt Ihnen ein viel besseres Verständnis darüber, was Ihr Add-In tun muss, um den gewünschten Effekt zu erzielen.

12

Add-in Express sieht gut aus.

+2

Nicht nur sieht gut aus, ich kann dafür bürgen, dass es gut ist. Sehr zufriedener Kunde. –

+0

Add in Express ist sehr gut. –

5

Ich habe ein Plugin einmal für die Verwendung in Excel (Eigene benutzerdefinierte Funktionen erstellen) mit Delphi erstellt. Was Sie brauchen, ist ein Addin, das die _IDTExtensibility2-Schnittstelle implementiert.

Jetzt weiß ich nicht die genauen Schritte, aber die Suche nach _IDTExtensibility2 wird Ihnen sehr helfen.

Überprüfen Sie diese article für eine nette Anleitung. Die OnConnection-Prozedur der _IDTExtensibility2-Schnittstelle gibt Ihnen den Eintrag für die Outlook-Anwendung.

9

Ich habe ein Outlook-Add-In mit Delphi erstellt (ein Raumreservierungssystem in das Terminformular integriert).

Einige Ratschläge:

  • Kaufen und add-in express verwenden. Dadurch sparen Sie viel Zeit und können COM-Add-Ins erstellen, für deren Installation keine Komponenten von Drittanbietern erforderlich sind. Wir haben zuerst versucht, unsere eigene Komponente zu erstellen, und obwohl wir es geschafft haben, Schaltflächen auf Formulare zu setzen, die etwas getan haben, war die aufgewendete Zeit im Verhältnis zum Ergebnis unverhältnismäßig.
  • Verwenden Sie den Add-In-Express-Kundendienst im Zweifelsfall. Sie kennen ihre Sachen.
  • Die COM-Schnittstelle für Outlook (im Delphi/OCX/Server/Ordner gefunden) ist dein Freund. Add-In Express bietet lediglich einen (viel) bequemeren Wrapper für diese Funktionalität.

Dinge zu vermeiden:

  • Gerade MAPI-Aufrufe. Es kann getan werden, und tatsächlich musste ich darauf zurückgreifen, um Nachrichtenströme während des Transports zu modifizieren, aber es ist eine echte PITA, mit der gearbeitet wird und die sehr schlecht dokumentiert ist.
  • Einmalige Formulare. Wir haben viel Zeit verschwendet, um einmalige Formulare zur Arbeit zu bekommen. Verwenden Sie nur veröffentlichte Formulare. Sie können ein Formular aus dem Code im lokalen Ordner veröffentlichen. In der Praxis ist dies also keine große Sache. Noch besser ist es, Formularbereiche zu verwenden, was die robusteste Art ist, Formulare zu erweitern.
  • Vorgeben wie COM in Delphi ist alles wie normale VCL-Programmierung. Mein Rat, wenn Sie keine COM-Erfahrung haben, ist, alle Dokumente zu lesen, die Sie in die Finger bekommen können. Einige hart erlernte Lektionen bestanden darin, Variablen immer vor dem Ende einer Funktion auf null zu setzen, damit Objekte von Outlook korrekt freigegeben werden konnten und immer die entsprechende Schnittstelle von einem Objekt angefordert wurde, anstatt zu versuchen, sie zu transformieren.
-1

Zu schlecht muss der Job in Delphi getan werden. Mit .NET und VSTO erstellen Outlook Addins ist viel weniger schmerzhaft im Vergleich zu den schlechten alten Tagen. Ich habe Office Addins in COM gemacht (das war überhaupt nicht lustig) und in der vorherigen Version von VSTO, aber VSTO 3 ist eine sehr gute Nachricht für den Büroentwickler.

+0

Nun, das Erstellen von COM-Addins in Delphi kann ziemlich viel Spaß machen - aber ich denke, das liegt eher an der überlegenen COM-Unterstützung in der Sprache. : p habe nicht VSTO selbst verwendet (keine Notwendigkeit - Delphi w/ADX + Redemption funktioniert nur wie ein Charme!) so konnte ich dazu nichts sagen –

+0

Viele Menschen scheinen nicht zu erkennen, dass Sie .NET-Anwendungen erstellen können mit Delphi auch! – stevenvh

+0

nichts für ungut, aber meiner Meinung nach ist es aufgrund der Größe der Benutzerbasis viel einfacher, gute Ratschläge zu VB.net/C# -Problemen zu bekommen. Ich mochte Delphi und CppBuilder damals, aber seit ich C# gefunden habe, habe ich nicht zurückgeschaut – Kasper