Muchas gracias por el interés pero por favor revisen esta lógica.
Esta parte trae informacion del outlook
Código Delphi
[-]for I := 1 to CalendarFolder.Items.Count do
begin
AOutlookAppointmentItem := CalendarFolder.Items(I);
if not VarIsNull(AOutlookAppointmentItem) then
begin
if AStorageEntryIDs.FindEntryID(AOutlookAppointmentItem.EntryID, AIndex) then
begin
AEvent := AStorageEntryIDs.ExtractEvent(AIndex);
AEventCompareFieldValue := AEvent.GetCustomFieldValueByName(StorageCompareFieldName);
AApptCompareFieldValue := InvokePropertyGet(AOutlookAppointmentItem, OutlookCompareFieldName);
if AApptCompareFieldValue > AEventCompareFieldValue then
UpdateExistingEvent(AEvent, AOutlookAppointmentItem, AStorageEntryIDs)
else
UpdateExistingAppointmentItem(AOutlookAppointmentItem, AEvent);
end
else
ImportAppointmentItemFromOutlook(AOutlookAppointmentItem);
end;
Application.ProcessMessages;
end;