0

我在我的帕斯卡代码中定义了一个常量...

const PropNameForUOID = 'http://schemas.microsoft.com/mapi/string/{00020329-0000-0000-C000-000000000046}/ORIONUOID

我通过调用设置此属性...

OleVariant(MI).PropertyAccessor.SetProperty(PropNameForUOID, Guid);

我在 Add-in Express 生成的 Outlook Addin 中执行此操作。MI 是 Outlook200.pas MailItem;这一切都适用于设置属性。我没有错误。

这是我稍后在代码中阅读它的方式...

result := OleVariant(MI).PropertyAccessor.GetProperty(PropNameForUOID);

当我在 Outlook 2013 客户端上运行此程序时,点击 MS Exchange Build 14.3.294.4000,一切正常。

但是,我们将其放置在客户端系统上,当我们尝试读取该属性时出现错误。设置工作正常,但读取错误。

在客户端计算机上,我的 IT 技术人员将 Outlook 2013 配置为访问他有权访问的另一台 Exchange 服务器。然后它起作用了。我们认为这与客户的 Exchange 服务器有关。

可能是这样吗?

如果是这样,我们应该寻找什么设置?

我在 Delphi 代码中做错了什么吗?

4

1 回答 1

1

您不应假定该属性存在并处理 GetProperty 返回的异常。查看您在使用OutlookSpy时遇到问题的项目(单击 IMessage 按钮)以确保该属性存在。

于 2016-10-28T04:24:32.743 回答