2008-10-18 14 views
10

Tôi đang làm việc trên một dự án cơ sở dữ liệu và tôi cần tạo plugin Outlook 2007 để lưu thư được xem trước hiện tại vào cơ sở dữ liệu của tôi.Làm thế nào để tạo một Outlook Plugin bằng Delphi?

Ai đó có thể cho tôi hướng dẫn từng bước về cách tạo plugin Outlook trong Delphi và cách triển khai nó?

Cảm ơn

Trả lời

12

Nếu bạn chỉ muốn tìm hiểu và hiểu cách thực hiện, chỉ cần google cho Delphi Outlook addin (Tôi chắc chắn "addin" sẽ cung cấp cho bạn nhiều kết quả liên quan hơn "plugin" trong ngữ cảnh này) và bạn nên đưa ra một số mẫu bổ sung mẫu chính xác một chút nhưng vẫn chính thức, ví dụ: Babelfish addin từ Dmitry Streblechenko (không còn hữu ích vì dịch vụ web mà nó không còn tồn tại nhưng vẫn hiển thị các khái niệm cơ bản) hoặc addin mẫu từ Paul Qualls (tiếc là không còn có sẵn từ trang gốc). Ngoài ra còn có một mail whitelister addin có sẵn với nguồn hoàn chỉnh, nhưng tôi chưa xem xét điều đó.

Tuy nhiên, sớm hay muộn bạn sẽ muốn bắt đầu sử dụng khung đã được chứng minh như ADX, đặc biệt nếu addin của bạn sẽ được sử dụng bên ngoài công ty bạn. Chúng tôi phát triển một addin phần mềm chia sẻ trong Delphi và khoảng 75% mã trong addin chỉ ở đó để cung cấp hỗ trợ cho các phiên bản khác nhau của Outlook (đặc biệt là Outlook XP) và các thiết lập khác nhau (đáng chú ý nhất là tùy chọn sử dụng Word để chỉnh sửa thư) một bảng biter lớn cho chúng ta).

Một yếu tố khác là phải liên tục làm việc xung quanh mô hình bảo mật OOM ngu ngốc. Bạn đang khá busted mà không có Redemption hoặc Outlook Security Manager ở đó. Việc mua lại đặc biệt không thể được đề xuất đủ cao, không chỉ để tránh các nhắc nhở bảo mật mà còn để đơn giản hóa một loạt các nhiệm vụ thường xuyên tẻ nhạt với một khung công tác vững chắc, dễ sử dụng của riêng nó.

[Bổ sung:] Chúng tôi đã bắt đầu với khung được phát triển trong gia đình và tất cả đều phù hợp với số lượng người dùng và số lượng cấu hình khác nhau để hỗ trợ phát nổ. Chúng tôi chuyển sang ADX khoảng một năm trước và không bao giờ nhìn lại. Sử dụng Redemption là không có trí tuệ ngay từ đầu mặc dù - đó là một trong hai hoặc dành hàng tháng học mở rộng MAPI trước khi chúng tôi đã bắt đầu (bạn vẫn có xu hướng chọn đó lên dễ dàng hơn nhiều khi bạn đi cùng một khi Redemption đã hướng dẫn bạn qua vài rào cản đầu tiên).

BTW: Một công cụ không thể thiếu khác cho bất kỳ nhà phát triển addin tự tôn trọng nào (bất kể ngôn ngữ lập trình được sử dụng) là OutlookSpy. Điều này sẽ thực sự cho phép bạn xem (và thao tác) những gì xảy ra bên trong Outlook (và ở mức độ nào đó) khi nó xảy ra và cho bạn hiểu rõ hơn về những gì addin của bạn sẽ phải làm để đạt được hiệu quả mà bạn muốn.

12

Add-in Express có vẻ tốt.

+2

Không chỉ có vẻ tốt, tôi có thể xác minh cho nó là tốt. Rất hài lòng khách hàng. –

+0

Thêm vào thể hiện là rất tốt. –

5

Tôi đã tạo một Plugin một lần để sử dụng trong Excel (Tạo các hàm do người dùng định nghĩa riêng của tôi) với Delphi. Những gì bạn cần là một Addin thực hiện giao diện _IDTExtensibility2.

Bây giờ tôi không biết các bước chính xác, nhưng việc tìm kiếm _IDTExtensibility2 sẽ giúp bạn rất nhiều.

Kiểm tra điều này article để biết cách thực hiện. Quy trình OnConnection của giao diện _IDTExtensibility2 cung cấp cho bạn mục nhập vào ứng dụng Outlook.

9

Tôi đã xây dựng một addlook bổ sung bằng Delphi (tích hợp hệ thống đặt phòng vào mẫu cuộc hẹn).

Một số lời khuyên:

  • Mua và sử dụng add-in express. Nó sẽ giúp bạn tiết kiệm rất nhiều thời gian, và nó cho phép bạn xây dựng các add-in COM không yêu cầu bất kỳ thành phần của bên thứ ba nào trong thời gian cài đặt. Trước tiên, chúng tôi đã cố gắng xây dựng thành phần của riêng mình và mặc dù chúng tôi đã cố gắng đặt các nút trên các biểu mẫu đã thực hiện điều gì đó, lượng thời gian dành cho nó không tương xứng với kết quả.
  • Sử dụng dịch vụ hỗ trợ Express-in khi nghi ngờ. Họ biết công cụ của họ.
  • Giao diện COM cho triển vọng (được tìm thấy trong delphi/ocx/servers/folder) là bạn của bạn. Add-In Express chỉ cung cấp một wrapper (nhiều) thuận tiện hơn xung quanh chức năng này.

Những điều cần tránh:

  • cuộc gọi MAPI Straight. Nó có thể được thực hiện, và trong thực tế, tôi đã phải sử dụng nó để sửa đổi luồng tin nhắn trong quá cảnh, nhưng nó là một PITA thực sự để làm việc với và rất kém tài liệu.
  • Biểu mẫu một lần. Chúng tôi lãng phí rất nhiều thời gian cố gắng để có được các hình thức một lần để làm việc. Chỉ sử dụng các biểu mẫu đã xuất bản. Bạn có thể xuất bản biểu mẫu vào thư mục cục bộ từ mã, do đó, trong thực tế, đây không phải là vấn đề lớn. Thậm chí tốt hơn là sử dụng các vùng biểu mẫu, đó là cách mở rộng các hình thức mạnh mẽ nhất.
  • Giả vờ như COM trong Delphi là bất cứ thứ gì như lập trình VCL bình thường. Lời khuyên của tôi nếu bạn không có kinh nghiệm COM là để đọc bất kỳ và tất cả các tài liệu bạn có thể có được bàn tay của bạn trên. Một số bài học khó học đã luôn đặt biến thành nil trước khi kết thúc hàm để các đối tượng có thể được giải phóng một cách chính xác theo triển vọng và luôn yêu cầu giao diện thích hợp từ đối tượng thay vì cố gắng truyền.
-1

Để công việc tồi phải được thực hiện ở Delphi. Với .NET và VSTO, việc tạo các addins Outlook sẽ kém hiệu quả hơn so với những ngày cũ tồi tệ. Tôi đã bổ sung Office trong COM (không vui chút nào) và trong phiên bản trước của VSTO, nhưng VSTO 3 là tin tốt cho nhà phát triển văn phòng.

+0

tốt, tạo COM-addins trong Delphi có thể khá thú vị - nhưng tôi đoán đó là nhiều hơn do sự hỗ trợ COM cao cấp trong ngôn ngữ. : p chưa sử dụng VSTO (không cần - Delphi w/ADX + Redemption chỉ hoạt động như một sự quyến rũ!) nên không thể nhận xét về điều đó –

+0

Nhiều người dường như không nhận ra rằng bạn có thể tạo các ứng dụng .NET. với Delphi quá! – stevenvh

+0

không có vi phạm, nhưng theo ý kiến ​​của tôi nó là dễ dàng hơn để có được tư vấn tốt về VB.net/C# vấn đề do kích thước của cơ sở người dùng. Tôi thích Delphi và CppBuilder trong những ngày đó, nhưng kể từ khi tôi tìm thấy C# tôi đã không nhìn lại – Kasper