4

私は、10 年前に開発した「Outlook と同期」機能を備えた Delphi で作成された連絡先管理アプリケーションを持っています。さて、いくつかの機能を追加し、いくつかのバグを修正するために戻ってきます。この同期機能は Outlook オブジェクト モデルを使用して開始しますが、純粋な MAPI を使用して変更を探す方法を高速化する「Use MAPI Enhancements」と呼ばれるオプションのモードがあり、メモを代わりに RTF と同期することができます。ただの平文。

実行の 2 つの並列パスをサポートすることが良い考えかどうか疑問に思っています。

すべての MAPI を使用した場合、いくつかのセキュリティ プロンプトを回避できると思います。また、アプリが Outlook に接続するのをブロックする "スクリプト ブロック" 機能がアンチウイルスに含まれている状況も回避できると思います。しかし、マイナス面として、私の 32 ビット アプリは MAPI を使用して 64 ビット Outlook 2010 に接続できないと思います。そして、MAPI 全般の将来について疑問に思います。

Outlook オブジェクト モデルを使用した場合、32 ビット アプリは Outlook オブジェクト モデルに接続できますか (アウト プロセス COM であるため)。もしそうなら、これは Outlook オブジェクト モデルの実行パスを維持する説得力のある理由です。しかし、そうでない場合、およびアプリを x64 用にコンパイルする必要がある場合は、純粋な MAPI を使用してみませんか?

4

2 に答える 2

12

その通りです。Outlook のビット数に応じて、コードを 32 ビットまたは 64 ビットでコンパイルする必要があります。

MAPI の将来については、まだ存在し、MS によって積極的にサポートされています。Outlook 2010 は依然として純粋な MAPI です。

于 2010-05-04T06:23:01.740 に答える
0

1. 32 ビット アプリケーションは、COM オートメーションを介して Outlook 2010 x64 に接続できます。2. 32 ビット アプリケーションは、純粋な MAPI を介して Outlook 2010 x64 に接続できません。

そのため、Outlook 2010 x64 をサポートするために、Outlook COM オートメーション コードを適切な場所に保持した方がよいように思われます。また、MAPI コードは x86 Outlook でのみ使用できます。

しかし、Outlook 2007 では、MAPI に頼らずに MAPI プロパティを読み取ることができる "PropertyAccessor" オブジェクトが追加されていることに気付きました。これにより、RTF ノートの読み取り/書き込みの利点が得られる可能性があります。これは、MAPI を使用できない場合に欠落している主な機能です。

于 2010-05-04T17:56:16.643 に答える