gpt4 book ai didi

delphi - COM-Addin 无法在 Outlook 2010x64 中加载(LoadBehavior 设置为 2)。如何调试 "runtime error"?

转载 作者:行者123 更新时间:2023-12-01 17:32:32 25 4
gpt4 key购买 nike

我有一个用 Delphi XE3/XE4 编写的插件,使用 Add-in-Express 框架(即不是 .NET,没有 VSTO)。它在所有 32 位版本的 Outlook 以及 64 位版本的 Outlook 2013 中运行良好。但是,在 64 位版本的 Outlook 2010 下,它根本无法加载:COM-Addin 管理器告诉我“未加载。在加载 COM-Add-in 期间发生运行时错误。” (即注册表中的 LoadBehavior 值设置为 2)。

有什么方法可以找出“运行时错误”可能是什么?

我已经将 OutputDebugString 放在我的代码以及 VCL 和 ADX 代码中,但在 Outlook 再次卸载 DLL 之前,似乎根本无法访问其中的任何一个。

在调试器中运行时(通过 PAServer)我设置的任何断点(例如,在 DPR 文件的 begin 上或在 Classes 的 initialization 中) 单元)甚至永远不会被启用。在我看来,DLL 甚至从未加载到调试器中(这在 Outlook 2013x64 中运行良好)。

我还已经编写了一个虚拟主机 EXE,它将实例化我的 COM 服务器并调用 IDTExtensibility2 接口(interface)上的适当方法来模拟实际的 Outlook 主机,但在这种情况下也不会发生错误。

使用进程监视器查看情况,插件 DLL 会短暂加载,但随后立即再次卸载,然后 LoadBehavior 值会重置。

我检查了应用程序日志并在 Outlook 本身中启用了日志记录,但到目前为止还没有提示所谓的“运行时错误”的性质。

所有最新更新和服务包均适用于所有 Delphi、Add-in-Express、Outlook、Windows。 Windows版本是7 Pro。没有安装其他插件。

关于检查内容还有更多想法吗?

最佳答案

将环境变量 VSTO_SUPPRESSDISPLAYALERTS 值 0 添加到导致问题的电脑。然后你可以从 Outlook >> 选项 >> 插件 >> 管理重新加载插件。因此 Outlook 将尝试重新加载此插件,您将看到一个弹出窗口,其中包含问题的详细信息...

关于delphi - COM-Addin 无法在 Outlook 2010x64 中加载(LoadBehavior 设置为 2)。如何调试 "runtime error"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20000923/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com