Удалите все объекты GDI из сторонней оболочки элемента управления ActiveX - PullRequest
0 голосов
/ 08 июля 2011

Я создал оболочку элемента управления ActiveX C #, чем я использую для обертывания элемента управления ActiveX стороннего производителя.

Я зарегистрировал упаковку элемента управления ActiveX и могу добавить ее в форму в Dynamics AX. Когда я открываю форму ~ 400 объектов GDI создаются каждый раз. Однако у меня проблема в том, что когда форма AX закрыта, ни один из объектов GDI не освобождается.

В конце концов я получаю следующую ошибку внутри AX.

enter image description here

В моей оболочке C # есть методы, которые я могу вызвать из созданной мной Обертки, где я явно вызываю Dispose для стороннего элемента управления. Однако это очищает только около половины созданных объектов GDI (~ 200/400)

Таким образом, проблема заключается в том, что при каждом открытии и закрытии формы AX создается около 200 новых объектов GDI.

Что еще я могу посмотреть, чтобы избавиться от остальных созданных объектов GDI (или почти всех из них?)

1 Ответ

0 голосов
/ 10 июля 2011

Это известная ошибка, и исправление доступно для этого.Это, однако, является проблемой с 2009 SP1.Следуйте этой дискуссии на форумах по динамике: http://community.dynamics.com/product/ax/f/33/p/30936/52754.aspx Ссылка доступна в КБ для этого исправления

Фильтрация сетки является одной из проблем, но будет полезно проверить ее.

...