0

Redemption を使用して、Outlook アドイン用に次のラッパー クラスを作成しました。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Diagnostics;

namespace PSTAttachRemove_Redemption
{
    class PSTWatch
    {
        private Redemption.RDOPstStore pst;

        public PSTWatch(Redemption.RDOPstStore rPST)
        {
            pst = rPST;
            pst.OnMessageMoved += new Redemption.IRDOStoreEvents_OnMessageMovedEventHandler(pst_OnMessageMoved);
        }

        void pst_OnMessageMoved(string EntryID)
        {
            Debug.Print(EntryID);
        }
    }
}

メインのアドイン コードでは、次のコードを使用してこのラッパーを呼び出しています。

void FileStorePopulation(Redemption.RDOStore store)
{
    switch (store.StoreKind)
    {
        case TxStoreKind.skPstAnsi:
        case TxStoreKind.skPstUnicode:
            PSTWatch p = new PSTWatch(store as RDOPstStore);
            watchedPSTs.Add(store.EntryID, p);
            break;
    }
}

ここで、watchedPSTsはグローバル変数です。

watchPSTsが入力されているのを確認できますが、メッセージを PST に移動するときにアイテムが起動しません。アイデア?

ありがとう

4

1 に答える 1

1

RDOSession をどのように初期化しますか? Logon を呼び出すか、OOM から RDOSession.MAPIOBJECT を Namespace.MAPIOBJECT に設定しますか? watchPSTs リストはグローバル (クラス) レベルで宣言されていますか? 複数のスレッドを使用していますか?

于 2011-05-20T16:49:21.207 に答える