2010-05-03 2 views
4

J'ai une application de gestion de contacts écrite en Delphi qui a une fonction "Synchroniser avec Outlook" que j'ai développée il y a 10 ans. Maintenant, je vais y ajouter quelques fonctionnalités et corriger quelques bugs. Cette fonction de synchronisation utilise le modèle d'objet Outlook pour démarrer, mais dispose d'un mode facultatif appelé «Utiliser les améliorations MAPI», qui utilise un MAPI pur pour accélérer la recherche des modifications et permet de synchroniser les notes avec RTF au lieu de juste du texte brut.Comment mieux tester mon application qui doit se connecter à Outlook?

Je me demande si soutenir deux chemins parallèles d'exécution est une bonne idée ou pas. Si j'allais avec tout MAPI, je crois que j'éviterais certaines invites de sécurité, et j'éviterais les situations où l'antivirus a des fonctionnalités de "blocage de script" qui bloquent mon application de se connecter à Outlook. Mais je crois que sur le côté négatif, mon application 32 bits ne serait pas en mesure de se connecter avec Outlook 2010 64 bits en utilisant MAPI. Et je m'interroge sur l'avenir de MAPI en général.

Si je m'en tiens au modèle d'objet Outlook, mon application 32 bits pourra-t-elle se connecter au modèle d'objet Outlook (puisqu'il s'agit d'un processus COM hors processus)? Si c'est le cas, il s'agit d'une raison impérieuse de conserver mon chemin d'exécution du modèle d'objet Outlook. Mais si ce n'est pas le cas, et si mon application doit être compilée pour x64, alors pourquoi ne pas simplement utiliser MAPI?

Répondre

12

C'est exact, vous devrez compiler votre code en 32 bits ou 64 selon la bitness Outlook. En ce qui concerne l'avenir de MAPI, il est toujours là et activement soutenu par MS. Outlook 2010 est toujours MAPI pur.

+0

Merci de confirmer cela, Dmitry! – Troy

+0

Dmitry, avez-vous l'intention de sortir une édition x64 de Redemption? – Troy

+0

Dmitry, heureux de vous voir sur StackOverflow. Notez cependant que [les slogans sont déconseillés] (http://meta.stackexchange.com/questions/5029/are-taglines-signatures-disallowed). –

0

J'ai confirmé par des tests que: 1. Une application 32 bits peut se connecter à Outlook 2010 x64 via l'automatisation COM. 2. Une application 32 bits ne peut pas se connecter à Outlook 2010 x64 via MAPI pur. Donc, il semble que je ferais mieux de garder mon code d'automatisation Outlook COM en place pour supporter Outlook 2010 x64, et mon code MAPI ne peut être utilisé que sur Outlook x86.

Mais j'ai remarqué que dans Outlook 2007, l'objet "PropertyAccessor" a été ajouté qui vous permettra de lire les propriétés MAPI sans recourir à MAPI. Cela pourrait me donner les avantages de lire/écrire des notes RTF ... qui est la principale caractéristique manquante si je ne peux pas utiliser MAPI.

+0

Le "PropertyAccessor" ne vous donne pas accès à PR_RTF_COMPRESSED. On dirait que MAPI est le seul moyen de le faire. Peut-être que je vais avoir besoin d'une application d'assistance x64 pour écrire des notes RTF. – Troy

Questions connexes