-
Подскажите, пожалуйста, почему при открытии папки может выдаваться такая ошибка?Result:= MAPISession.OpenEntry(Value.cb, PENTRYID(Value.lpb), @IID_IMAPIFolder, 0, iTmpVal, IUnknown(MAPIFolder));
-
В общем смысл следующий:...
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; -
Сорри, опечатался... Процедуры не вложены друг в друга, а отдельные. ;)