2016-08-17 4 views
1

私は、Outlookと私のアプリケーションの間で予定を同期するアプリケーションを持っています。同期コードは、Outlookで予定を更新するためにRedemptionを使用します。Outlookの予約を更新して、Outlookの保存エラーを引き起こす可能性がある

Outlookで予定が追加されると、コードでアイテムの追加イベントが発生し、アプリケーションで同等の予定が生成され、Outlook予定内のユーザープロパティとして予定表IDが追加されて保存されます。

私がいる奇妙な問題はこれです:

  • テキストボックスが一日ブロックで示し月ビューの日に
  • シングルクリックは、件名を入力し、その後、
  • を入力ヒット
    1. はダブル
    2. は、このような
    3. ヒットがボタン保存リマインダーを設定するなど、いくつかの変更を行い、すぐにそれを開くために新しい予定をクリックし

    この時点で、Outlookに「アイテムは別のユーザーまたは別のウィンドウによって変更されたため保存できません」というメッセージボックスが表示されます。

    アドインの同期機能を有効にした場合、これが頻繁に発生することがわかりましたが、無効にした場合は発生しません。

    Outlookは、Redemptionを使用してユーザープロパティを保存しているコードの変更を検出して、それを気に入らないようです。

    Redemptionがデータを保存するためにMAPIテーブルに直接アクセスしていますが、Outlookはあまりにも速く開くと予定されたCOMオブジェクトをキャッシュしているためです。それで、私が開いた予定は、私がもう一度それを保存したいときには「時代遅れ」です。

    私は反対テストしていますOutlookのバージョンは、Outlook 2016で

    答えて

    1

    次のことが発生した場合、このエラーが返されます。

    1. あなたのコード(またはOutlook)を開き、アイテム
    2. 償還が開きます項目
    3. 償還は、償還はそれを
    4. のOutlook(またはコード)Mを保存アイテム
    5. を修正しますodifiesとOutlookアイテム

    あなたはどちらか(それが既に開いている場合)、Outlookが1位でアイテムを開いたりしないことを確認することができますが、Outlookアイテムに便乗し、ステップRDOSession.GetRDOObjectfromOutlookObjectを使用して、それを開くことができますが保存されます#2。

    関連する問題