如何最好地证明我的应用程序需要连接到 Outlook?

发布于 2024-08-31 00:09:12 字数 541 浏览 5 评论 0原文

我有一个用 Delphi 编写的联系人管理应用程序,它具有我 10 年前开发的“与 Outlook 同步”功能。现在,我要回去添加一些功能并修复一些错误。此同步功能使用 Outlook 对象模型来启动,但它有一个名为“使用 MAPI 增强”的可选模式,其中它使用纯 MAPI 来加快查找更改的速度,并且允许使用 RTF 同步笔记,而不是使用 RTF 同步笔记。只是纯文本。

我想知道支持两条并行执行路径是否是一个好主意。

如果我使用所有 MAPI,我相信我会避免一些安全提示,并且我会避免防病毒软件具有“脚本阻止”功能(阻止我的应用程序连接到 Outlook)的情况。但我认为,不利的一面是,我的 32 位应用程序将无法使用 MAPI 与 64 位 Outlook 2010 连接。我想知道 MAPI 的总体未来。

如果我坚持使用 Outlook 对象模型,我的 32 位应用程序是否能够连接到 Outlook 对象模型(因为它是进程外 COM)?如果是这样,这就是保留 Outlook 对象模型执行路径的一个令人信服的理由。但如果不是,并且如果我的应用程序需要针对 x64 进行编译,那么为什么不直接使用纯 MAPI?

I have a contact management application written in Delphi which has a “Sync with Outlook” feature that I developed 10 years ago. Now, I’m going back to add some features and fix some bugs. This sync feature uses the Outlook object model to get started, but it has an optional mode called “Use MAPI Enhancements” where it uses pure MAPI to speed up how it looks for changes, and it allows notes to be synced w/ RTF instead of just plain text.

I'm wondering if supporting two parallel paths of execution is a good idea or not.

If I went with all MAPI, I believe I'd avoid some security prompts, and I'd avoid situations where anti-virus has "script-blocking" features which block my app from connecting to Outlook. But I believe that on the down side, my 32-bit app would not be able to to connect with 64-bit Outlook 2010 using MAPI. And I wonder about the future of MAPI in general.

If I stick with the Outlook object model, will my 32-bit app be able to connect to the Outlook object model (since it's out of process COM)? If so, this is a compelling reason to keep my Outlook object model execution path in place. But if not, and if my app needs to be compiled for x64, then why not just go with pure MAPI?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

寄与心 2024-09-07 00:09:12

没错,您需要根据 Outlook 位数以 32 位或 64 位编译代码。

至于MAPI的未来,它仍然存在并得到MS的积极支持。 Outlook 2010 仍然是纯 MAPI。

That is correct, you will need to compile your code either in 32 bit or 64 depending on the Outlook bitness.

As for the future of MAPI, it is still there and being actively supported by MS. Outlook 2010 is still pure MAPI.

虚拟世界 2024-09-07 00:09:12

我通过测试证实:
1. 32 位应用程序可以通过 COM 自动化连接到 Outlook 2010 x64。
2. 32 位应用程序无法通过纯 MAPI 连接到 Outlook 2010 x64。

因此,看来我最好保留我的 Outlook COM 自动化代码以支持 Outlook 2010 x64,而我的 MAPI 代码只能在 x86 Outlook 上使用。

但我注意到,在 Outlook 2007 中,添加了“PropertyAccessor”对象,该对象允许您读取 MAPI 属性,而无需求助于 MAPI。这可能会给我带来读/写 RTF Notes 的好处……如果我不能使用 MAPI,这是主要缺少的功能。

I confirmed through testing that:
1. A 32-bit application can connect to Outlook 2010 x64 through COM automation.
2. A 32-bit application cannot connect to Outlook 2010 x64 through pure MAPI.

So, it seems that I better keep my Outlook COM automation code in place to support Outlook 2010 x64, and my MAPI code can only be used on x86 Outlook.

But I noticed that the in Outlook 2007, the "PropertyAccessor" object was added which will allow you to read MAPI properties without resorting to MAPI. This might give me the benefits of reading/writing RTF Notes ... which is the main missing feature if I can't use MAPI.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文