MAPI (+ LES ROIS DES POINTEURS DEMANDES :D) [C++] - C++ - Programmation
Marsh Posté le 03-09-2002 à 13:55:19
Godbout a écrit a écrit : J'ai compris |
Y a tout là :
http://msdn.microsoft.com/library/ [...] u_need.asp
Les headers :
http://msdn.microsoft.com/library/ [...] frame=true
N'oublie pas qu'il faut qu'il y ait un compte email configuré dans Outlook.
Marsh Posté le 03-09-2002 à 14:06:56
Donc comme je l'avais dit tout ca c'est ok. J'ai lu. Les headers aussi. Ce qui me manque c'est la lib/dll, mais bon c'est pas grave, au lieu de linker statiquement je vais me demerder avec des bons vieux pointeurs de fonction. Sinon j'ai bien cree un profil. D'ailleurs ca marche deja mais avec une classe basee sur MAPI, mais allégé, et ca ca m'embete.
ps: si on a outlook express ca peut fonctionner ou pas ? (il me semble pas qu'il gere les profils)
Marsh Posté le 03-09-2002 à 14:27:38
Godbout a écrit a écrit : Donc comme je l'avais dit tout ca c'est ok. J'ai lu. Les headers aussi. Ce qui me manque c'est la lib/dll, mais bon c'est pas grave, au lieu de linker statiquement je vais me demerder avec des bons vieux pointeurs de fonction. Sinon j'ai bien cree un profil. D'ailleurs ca marche deja mais avec une classe basee sur MAPI, mais allégé, et ca ca m'embete. ps: si on a outlook express ca peut fonctionner ou pas ? (il me semble pas qu'il gere les profils) |
Je crois bien que si, Outlook express 6 gère plusieurs comptes mail mais j'ai pas eu l'occasion de tester avec MAPI.
Marsh Posté le 03-09-2002 à 14:32:19
Ouais mais il gere plusieurs comptes courrier directement dans outlook express, alors que dans outlook tu crees pas un compte mais un service de message, qui se refere a un profil. Enfin moi j'ai pas reussi a faire fonctionner MAPI avec express
En plus la je suis en train d'en chier avec les pointeurs de fonction
Marsh Posté le 03-09-2002 à 15:46:10
Quelqu'un aurait une idee pour le petit pb suivant ??
Tiré du MSDN:
Code :
|
Ce que je fais:
Code :
|
Je recois une messageBox:
Citation : Debug Error! |
J'ai beau chercher je vois pas ou est le pb
Marsh Posté le 03-09-2002 à 16:07:04
Et avec:
Code :
|
Marsh Posté le 03-09-2002 à 16:17:15
quel homme
Impeccable.
Si tu pouvais m'expliquer ca m'arrangerait bien.
Merci.
Marsh Posté le 03-09-2002 à 16:51:32
Godbout a écrit a écrit : quel homme Impeccable. Si tu pouvais m'expliquer ca m'arrangerait bien. Merci. |
Par défaut, tu dois sans doute être en cdecl (c'est la "calling convention" signalée dans le message d'erreur) alors que la DLL en C est en stdcall.
(Je crois que c'est en rapport avec qui doit vider la pile avant le retour du CALL mais j'en sais pas plus)
Marsh Posté le 04-09-2002 à 03:44:54
Pour être plus préçis et plus portable, il faut mettre STDMETHODCALLTYPE au lieu de __stdcall.
C'est effectivement une question de placement/libération des arguments au niveau assembleur.
Sous Visual C++ 6, il suffit de faire [F12] pour trouver la déclaration d'une API et voir ces détails.
Marsh Posté le 04-09-2002 à 08:55:02
Musaran a écrit a écrit : Pour être plus préçis et plus portable, il faut mettre STDMETHODCALLTYPE au lieu de __stdcall. C'est effectivement une question de placement/libération des arguments au niveau assembleur. Sous Visual C++ 6, il suffit de faire [F12] pour trouver la déclaration d'une API et voir ces détails. |
Ben le [F12] il t'envoie juste a la declaration de l'API effectivement, mais nullepart ca me dit qu'il faut mettre STDMETHODCALLTYPE ou stdcall, etc...
Enfin bref, merci pour les infos.
Un petit dernier truc par contre
J'suis dans un projet MFC et y a des definitions de fonctions avec FAR PASCAL (remplace par WINAPI). Le pb c'est qu'il le reconnait si j'inclus windows.h, mais si j'inclus cet entete j'ai un message d'erreur comme koi je ne peux pas l'inclure
Marsh Posté le 05-09-2002 à 03:23:38
1)
On peut explorer en enchaînant les F12:
MAPILogonEx->MAPILOGONEX->typedef HRESULT (STDMETHODCALLTYPE MAPILOGONEX)...->__stdcall.
Ctrl+*(pavé num) pour revenir.
2)
Euh... je vois pas.
Rassures-moi: tu ne fais pas les #define et les typedef toi-même ?
Marsh Posté le 05-09-2002 à 09:08:55
quels #define et typedef ?
Si tu parles des entetes de fonction si.
M'enfin c'est plus trop un pb, j'ai enleve PASCAL et ca marche
Marsh Posté le 06-09-2002 à 02:51:31
Je m'inquiétais juste que tu n'essaies pas de définir toi-même des types/macros fournis par les #include de windows.
Ou de déclarer toi-mêmes les APIs.
Y'en a qui le font, mais faut pas !
Marsh Posté le 07-09-2002 à 11:42:08
up pour cet excellent topic puisqu'il est mien.
Bon plus serieusement, pour ouvrir une session faut un profil.
Au boulot pas de pb, je vais dans courrier et j'ai mes profils (win2k). La je veux matter chez moi et pas de profils ?
Alors je fais comment ???
Marsh Posté le 03-09-2002 à 11:59:12
Je suis a la recherche d'un source utilisant MAPI (pas le simpleMAPI). J'ai beau trifouiller le msdn, chopper les sources qu'ils fournissent j'y arrive pas.
Par ailleurs le compilo me sort deux erreurs de link, normal je n'arrive pas a ajouter la librairie au projet (mapi32.dll), il me sort que le fichier est corrompu.
ps: El_gringo vient pas pourrir mon topic
Message édité par godbout le 03-09-2002 à 15:54:25
---------------
Super.