【问题标题】:MAPI showing details of contacts显示联系人详细信息的 MAPI
【发布时间】:2020-05-08 10:22:39
【问题描述】:

我们目前正在使用 MAPI 将联系信息加载到表单中。 在 MapiSession 中,我们正在使用这段代码创建一个 RDOAddressEntry“接收者”

using (MapiSession session = new MapiSession()) 
{
    //open outlook contact dialog
    RDOAddressEntry recipient = session.GetAddressEntryFromID(contact.EntryId);
    if (recipient.Type == null)
    {
        throw new ArgumentException("type not defined");
    }

    recipient.Details(handle.ToInt32());
}

我们的问题似乎是用最后一行代码打开的对话框创建了两个不同的对话框。一个用于交换联系人,另一个用于 SMTP 联系人。

在我们的应用程序的最后一个版本中,它总是为两种 RDOAddressEntry 类型打开相同的对话框,并且我们没有更改代码中的任何内容...

您能帮我解决这个问题,以便 SMTP 和 Exchange 再次带来相同的对话框吗?

【问题讨论】:

    标签: outlook dialog contacts outlook-redemption


    【解决方案1】:

    我不知道为什么你之前得到了相同的对话框 - 该对话框实际上是由特定的通讯簿提供商提供的,因此来自不同提供商的条目会有所不同。

    【讨论】:

    • 似乎旧版本的应用程序在对话框中加载了“Redemption.RDOAddressEntryClass”-Object,现在它加载了“System._COMObject”-Object...
    • 这不会有任何区别 - 这就是调试器表示该变量的方式。
    • 那么,同样的代码现在有不同的结果,还有什么可以改变的呢?...
    • 唯一的解释是,即使您知道地址条目来自 Exchange,它仍被视为一次性 SMTP 条目。如果无法访问代码运行的环境,很难具体说明。
    • 其实我们确实解决了这个问题!!我们现在正在使用 Microsoft.Office.Interop,它可以按照我们的意愿工作。所以Redemption好像有问题……
    猜你喜欢
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    • 2012-01-11
    • 1970-01-01
    相关资源
    最近更新 更多