![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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;