2

私たちのプログラムを Outlook と以下のテスト コード (一種の作業) に統合しようとしていますが、次の問題があります。

テストでは、予定を追加できました。次に、予定を手動で別の日付/時刻に移動し、テスト プログラムを再実行すると、(予想どおり) 元に戻りました。しかし...

アイテムが削除されても、以下のコードはまだアイテムを見つけることができます (どういうわけか!)。Outlook の [削除済みアイテム] フォルダーからアイテムを手動で削除しました。

その結果、予定が「見つかった」ため、それを更新しようとし、結果として AV も発生します。検索機能の使用に問題があると思われますが、私がやろうとしているのは、userProperties を使用してシステムから何かを追加し、Outlook の予定項目に追加し、必要に応じて更新することです。ただし、ユーザーがカレンダーからアイテムを手動で削除する場合も処理できる必要があります。

どんな援助でも大歓迎です。

folder := ns.GetDefaultFolder(olFolderCalendar);

if not VarIsNull(folder) and not VarIsEmpty(folder) then
begin
try
  appointment := folder.Items.Find('[MyRecProperty2]=' + quotedStr(1001));
  entryFound := true;
except
end;

if (not entryFound) or
  (varType(Appointment)=varNull) or
  (varType(Appointment)=varEmpty) then
begin
  appointment := folder.Items.Add(olAppointmentItem);
  prop := appointment.UserProperties.Add('MyRecProperty2',olText,True);
  prop.Value := '1001';
  NewAppointment(appointment);
end
else
begin
  showmessage('updating appointment!');
  FillAppointment(appointment, false);
end;

showmessage('saving appointment!');
appointment.Save;

//showmessage('display appointment!');
//appointment.Display(true);
4

0 に答える 0