Delphi 11.2 Alexandria 中的 OWC11 - TPivotTable.Create 上的访问冲突

问题描述 投票:0回答:1

我们现在在创建 TPivotTable 类的实例时收到访问冲突。这在以前的 Delphi 版本中一直有效,没有问题。

重现步骤:

导入 OWC11(Office Web Components)的类型库。

创建 TPivotTable 的实例。

将会发生访问冲突。

打破调试器中的异常,我们位于 Vcl.OleCtrls 的第 837 行,似乎可能与许可证检查有关。

LicKeyStr 在我看来确实是可疑的伪造品。 “我的运行时许可证密钥” 但是,这与在以前的 Delphi 版本(特别是我们从中迁移的柏林)中构建时相同,并且没有任何中断。它在那里工作,但不适用于亚历山大的新编译器。

这似乎不是由我们的应用程序代码中的任何特殊内容引起的。我可以在一个独立的程序中重现它,该程序什么也不做,只是尝试创建数据透视表对象。

我在这方面有点忙,时间至关重要。任何有关可能原因或修复的建议将不胜感激。

总而言之,我希望能够在新的 Delphi 11 IDE 中导入 OWC11 的类型库,并让一切正常工作。但相反,我们在创建 TPivotTable 实例时立即出现段错误。

delphi segmentation-fault access-violation office-web-components
1个回答
0
投票

我找到了直接原因(尽管我不确定为什么它会破坏东西)。

Delphi 11 默认启用了 NXCompat (DEP) 链接器标志,而在以前的 Delphi 版本中,该标志实际上根本没有出现在链接器选项中(默认情况下禁用)。

它列在链接器选项中的“防止数据执行兼容”下。禁用它可以防止 OWC 破坏应用程序。

短期内我们将不得不忍受没有这个的生活。

© www.soinside.com 2019 - 2024. All rights reserved.