0

我创建了一个 C# ActiveX 控件包装器,而不是用于包装第三方 ActiveX 控件。

我已经注册了 ActiveX 控件包装,我可以将它添加到 Dynamics AX 中的表单中。当我打开表单时,每次都会创建约 400 个 GDI 对象。但是我遇到的问题是,当关闭 AX 表单时,没有释放任何 GDI 对象。

最终我在 AX 中收到以下错误。

在此处输入图像描述

我的 C# 包装器中有一些方法,我可以从创建的 Wrap 中调用这些方法,我在第三方控件上显式调用 Dispose。然而,这只清理了大约一半创建的 GDI 对象(~200/400)

所以问题是每次打开和关闭 AX 表单时都会创建大约 200 个新 GDI 对象。

我还能看到什么来摆脱创建的其余 GDI 对象(或几乎所有这些对象?)

4

1 回答 1

0

这是一个已知的错误,并且有一个修复程序可用。然而,这是 2009 SP1 的一个问题。在动态论坛上关注此讨论:http: //community.dynamics.com/product/ax/f/33/p/30936/52754.aspx 此修补程序的 KB 中提供了一个链接

网格过滤是其中的问题之一,但最好检查一下。

于 2011-07-10T05:16:12.323 回答