我有一个用 Delphi 编写的应用程序,可以在 Outlook 中添加/更新联系人。我遇到的问题是,如果联系人已在 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;
//.....