Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > Работа с MAPI


Автор: victor666 20.1.2006, 12:07
Доброго времени суток. Вопрос про MAPI. Нужно получить email текущего юзверя. Пытался так:
Код

Name := 'MAPIOBJECT';
p_Session   : Outlook2000.NameSpace;
p_Session.GetIDsOfNames(GUID_NULL, @pName, 1, LOCALE_SYSTEM_DEFAULT, @rgDispId);

p_Session.Invoke(rgDispId, GUID_NULL, 0, DISPATCH_PROPERTYGET, dispparams, @vaResult, nil, nil);
...
spSession.OpenEntry(ent.cb, PENTRYID(ent.lpb), IID_IMailUser, MAPI_BEST_ACCESS, dwCount, @spMailUser);
    MapiX.MAPIAllocateBuffer(sizeof(ULONG) + sizeof(ULONG)*iColsCount, @pCols);
    pCols.cValues := iColsCount;
    for i:=0 to iColsCount-1 do
      pCols.aulPropTag[i] := ulProperties[i];
    spMailUser.GetProps(pCols, 0, dwCount, pProperty);
    pProp := pProperty;
    for i:=0 to dwCount-1 do
    begin
      if pProp.ulPropTag = PR_EMAIL_ADDRESS then
        Result := pProp.Value.lpszA;
      pProp := PSPropValue(Integer(pProp) + sizeof(TSPropValue));
    end;


Но в Resulte строка 'Unknown'. Кто знает - поможите.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)