«Обнаружен неправильный аргумент» при запуске приложения ленты Windows XP MFC - PullRequest
1 голос
/ 05 февраля 2009

Я разработал приложение Ribbon для Vista, используя VS 2008. Оно отлично работает в Vista. Я статически связываю MFC, чтобы я мог запустить его и на XP.

Но когда я запускаю его на XP, он открывает диалоговое окно с надписью "Требуемый ресурс был недоступен". Позже, если я нажму OK в этом диалоговом окне, появится еще одно: «Обнаружен неправильный аргумент». Многие такие («Обнаружены ....») диалоги следуют (один за другим), пока я не завершу его из диспетчера задач.

Интересно, что я заметил, что этот сценарий происходит, когда я просто помещаю указатель мыши на панель ленты. Я больше ничего не делаю. Затем я открываю диспетчер задач и вижу, что используемая память увеличивается на 8 байт с каждой секундой. В конце концов следует сценарий выше.

?????

Ответы [ 2 ]

0 голосов
/ 06 февраля 2009

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

Я вызывал GetDC () при обновлении элементов управления ленточной панели (ON_UPDATE_COMMAND_UI), но не выпустил его. Выпуск его с помощью ReleaseDC (..) устранил проблему.

Спасибо за все ответы.

0 голосов
/ 05 февраля 2009

Вполне может быть, что лента является частью общих элементов управления Win32 в Vista (следовательно, недоступна в XP). Другими словами, хотя у вас есть статически связанная MFC, это может быть не тот MFC, который содержит искомый ресурс.

Создание сообщества вики, так как я действительно понятия не имею, правильно ли это: -).

...