Ошибка при создании дескриптора окна - PullRequest
0 голосов
/ 02 декабря 2009

Я создал приложение Windows .NET 2.0. Это приложение создает элементы управления динамически. Теперь, когда я пытаюсь запустить приложение, оно выдает исключение «Ошибка при создании дескриптора окна». После этого приложение зависает и ничего не происходит. В первый раз форма отображается правильно. В конкретном случае я пытаюсь перезагрузить ту же форму, в то время как я получаю это исключение. Кто-нибудь знает, как от этого избавиться. Любая помощь будет очень полной:)

1 Ответ

0 голосов
/ 02 декабря 2009

Недавно я столкнулся с такой же проблемой.

Для каждого процесса существует ограничение в 10 000 дескрипторов - его легко достичь, если вы динамически создаете сложный интерфейс.

Чтобы проверить, происходит ли это для вас, используйте Диспетчер задач - перейдите на вкладку Процессы, включите столбцы для «Объекты USER» и «Объекты GDI». Затем воспроизведите проблему.

В моем случае количество объектов USER достигло 10000, а затем "boom".

Если это то, что происходит с вами, вам нужно убедиться, что старые элементы управления правильно расположены перед созданием новой формы. Возможно, вам придется изменить дизайн, чтобы использовать меньше ручек - это то, что мне нужно было сделать.

...