处理来自第三方ActiveX控件包装器的所有GDI对象

时间:2011-07-08 01:24:17

标签: c# activex gdi dynamics-ax-2009 axapta

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

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

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

enter image description here

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

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

除了创建的其余GDI对象(或几乎所有对象?)之外,我还能看到什么?

1 个答案:

答案 0 :(得分:0)

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

过滤网格是其中的一个问题,但检查它会很好。