私は、Outlookと私のアプリケーションの間で予定を同期するアプリケーションを持っています。同期コードは、Outlookで予定を更新するためにRedemptionを使用します。Outlookの予約を更新して、Outlookの保存エラーを引き起こす可能性がある
Outlookで予定が追加されると、コードでアイテムの追加イベントが発生し、アプリケーションで同等の予定が生成され、Outlook予定内のユーザープロパティとして予定表IDが追加されて保存されます。
私がいる奇妙な問題はこれです:
- はダブル
- は、このような
- ヒットがボタン保存リマインダーを設定するなど、いくつかの変更を行い、すぐにそれを開くために新しい予定をクリックし
この時点で、Outlookに「アイテムは別のユーザーまたは別のウィンドウによって変更されたため保存できません」というメッセージボックスが表示されます。
アドインの同期機能を有効にした場合、これが頻繁に発生することがわかりましたが、無効にした場合は発生しません。
Outlookは、Redemptionを使用してユーザープロパティを保存しているコードの変更を検出して、それを気に入らないようです。
Redemptionがデータを保存するためにMAPIテーブルに直接アクセスしていますが、Outlookはあまりにも速く開くと予定されたCOMオブジェクトをキャッシュしているためです。それで、私が開いた予定は、私がもう一度それを保存したいときには「時代遅れ」です。
私は反対テストしていますOutlookのバージョンは、Outlook 2016で