Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

MAPI_E_INVALID_ENTRYID [D7, NT4, Win2k, WinXP]


AlexK ©   (2008-04-24 17:57:00) 

Подскажите, пожалуйста, почему при открытии папки может выдаваться такая ошибка?

Result:= MAPISession.OpenEntry(Value.cb, PENTRYID(Value.lpb), @IID_IMAPIFolder, 0, iTmpVal, IUnknown(MAPIFolder));


AlexK   (2008-04-24 18:35:00) [1]

Сорри, опечатался... Процедуры не вложены друг в друга, а отдельные. ;)


AlexK   (2008-04-24 18:32:00) [2]

В общем смысл следующий:

...

var
MsgStoreID, Value: TSBinary;

procedure GetFolder;
var
MsgStoresTable: IMAPITable;
MsgStore: IMsgStore;
begin
 MAPISession.GetMsgStoresTable(0, MsgStoresTable);
 ... получаем список MsgStoresRowSet
 for i:= 0 to MsgStoresCount-1 do
 begin
    MsgStoreID:= PSPropValueArray(MsgStoresRowSet.aRow[I].lpProps)[0].Value.bin;
    MAPISession.OpenEntry(MsgStoreID.cb, PENTRYID(MsgStoreID.lpb),
       @IID_IMsgStore, 0, iTmpVal, IUnknown(MsgStore));
    ... тут получаем список папок, определяем нужную, сохраняем Entryid в переменную Value
    MsgStore.StoreLogoff(x);
    ... очищаем буфер и т.п....
 end;

 procedure OpenFolder;
 var
    MsgStore: IMsgStore;
 begin
MAPISession.OpenEntry(MsgStoreID.cb, PENTRYID(MsgStoreID.lpb),
           @IID_IMsgStore, 0, iTmpVal, IUnknown(MsgStore));
  Res:= MAPISession.OpenEntry(Value.cb, PENTRYID(Value.lpb), @IID_IMAPIFolder, 0, iTmpVal, IUnknown(MAPIFolder)); < ошибка здесь
   .......
 end;
 
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо