![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
MAPI в TheBat!
Sour © (2004-01-27 10:46:00)Почему при использовании TheBat! 2.00 вызов функции MAPIFindNext возвращает не 0, т.е. как будто нет писем в Inbox, хотя письма на самом деле есть. При использовании OutLook-а все нормально. Привожу код:
pLib := LoadLibrary('mapi32.dll');
if pLib = 0 then
exit;
if MAPILogon(0, 0, 0, {MAPI_LOGON_UI or} MAPI_FORCE_DOWNLOAD, 0, @pSession) <> SUCCESS_SUCCESS then
exit;
//В цикл прогрмма не входит, если используется BAT, хотя письма там есть (в папке Inbox)
while MAPIFindNext(pSession, 0, 0, SID, MAPI_LONG_MSGID, 0, MID) = 0 do
begin
MAPIReadMail(pSession, 0, MID,MAPI_PEEK or MAPI_SUPPRESS_ATTACH, 0, Mes);
if Mes.nFileCount > 0 then
begin
MAPIFreeBuffer(Mes);
MAPIReadMail(pSession, 0, MID, MAPI_PEEK, 0, Mes);
sTmp := IncludeTrailingBackslash(edDir.Text) + Mes.lpFiles.lpszFileName;
CopyFile(Mes.lpFiles.lpszFileName, PChar(sTmp), false);
AddLogString(format('????????? ???? "%s" ?????????? ? "%s"', [String(Mes.lpFiles.lpszFileName), edDir.Text]), 1);
end;
strcopy(SID,MID);
end;
MAPILogoff(pSession,0,0,0) = SUCCESS_SUCCESS;
При использовании Outlook все работает нормально?
(2004-01-27 11:58:00) [1]Удалено модератором
Sour (2004-01-27 10:55:00) [2]Еще одно: MAPI_E_INVALID_SESSION возникает и при использовании mapi32.dll и при tbmapi.dll
Sour (2004-01-27 10:51:00) [3]Забыл сказать, что в случае использования The Bat FindNext возвращает MAPI_E_INVALID_SESSION. ??