Восстановите контакт после удаления в перспективе

Мне записали приложение в Delphi, который добавляет / контакты обновлений в перспективе. Проблема, которую я имею, состоит в том, что, если контакт был удален в Outlook, код все еще находит контакт и обновляет его - и контакт все еще остается удаленным. Существует ли способ, которым я могу определить, удален ли контакт, или восстановите контакт после удаления?

Примерно код смотрит что-то как:

  OutlookApp := CreateOleObject('Outlook.Application');
  Mapi := OutlookApp.GetNameSpace('MAPI');

//.....
        try
          if ContactOutlookEntryID.AsString <> '' then
            aContact := Mapi.GetItemFromID(ContactOutlookEntryID.AsString);
        except
        end;
          //try to locate the contact if they have been synchro'd before
        if VarIsEmpty(aContact) then //if not found
          aContact := Contacts.Items.Add(2); //add a new contact to outlook
        aContact.LastName := ContactSurname.AsString;
//.....
5
задан Alister 7 March 2010 в 23:28
поделиться

2 ответа

Когда контакты удаляются, они помещаются в папку «Удаленные». Нет другого состояния «удалено», кроме нахождения в этой папке. «Восстановить» так же просто, как вернуть его обратно.

В объекте ContactItem есть метод Move , который можно использовать, чтобы переместить его обратно в папку контактов по умолчанию, которую можно получить с помощью метода NameSpace.GetDefaultFolder .

ИЗМЕНИТЬ Чтобы определить, находится ли контакт в папке удаленных элементов, вы можете посмотреть свойство Parent, которое должно возвращать объект MAPIFolder. Затем вы можете сравнить его EntryID с тем, который возвращается GetDefaultFolder (olFolderDeletedItems).

3
ответ дан 15 December 2019 в 00:58
поделиться

Имейте в виду, что это зависит от PST - провайдер PST не меняет идентификатор записи, когда элементы перемещаются в разные папки.

Дмитрий Стреблеченко (MVP) http://www.dimastr.com/ OutlookSpy - Outlook, CDO и инструмент разработчика MAPI

1
ответ дан 15 December 2019 в 00:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: