“Foi encontrado um argumento impróprio” executando um aplicativo fita MFC Windows XP

StackOverflow https://stackoverflow.com/questions/514535

  •  21-08-2019
  •  | 
  •  

Pergunta

Eu desenvolvi uma aplicação de fita no Vista usando o VS 2008. Ele funciona muito bem no Vista. I estaticamente link MFC para que eu possa executá-lo em XP também.

Mas quando eu executá-lo em XP, coloca-se uma caixa de diálogo dizendo "Um exigido recurso foi unavailble". Mais tarde, se eu pressione OK nesta caixa de diálogo, ele coloca-se outro dizendo "Foi encontrado um argumento impróprio". Muitos tais ( "encontrado um ....") diálogos seguir (um após o outro) até que eu terminá-lo a partir do gerenciador de tarefas.

Uma coisa interessante que eu notei é que este cenário ocorre quando eu só colocar o ponteiro do mouse sobre a barra de fita. I fazer mais nada. Então eu abrir o gerenciador de tarefas e ver que a memória utilizada é crescente por 8 bytes a cada segundo. Eventualmente seguido pelo cenário acima.

?????

Foi útil?

Solução 2

Houve uma fuga de recursos no meu código que estava causando o problema.

Eu tinha chamado GetDC () ao atualizar os controles de barra de fita (ON_UPDATE_COMMAND_UI), mas não tinha liberado. Liberá-lo usando ReleaseDC (..) corrigiu o problema.

Obrigado por todas as respostas.

Outras dicas

Pode muito bem ser que a fita é parte dos controles comuns Win32 no Vista (daí não está disponível no XP). Em outras palavras, se você tivesse ligado estaticamente MFC, pode não ser MFC que contém o recurso que você está procurando.

Fazendo wiki comunidade, desde que eu realmente não tenho idéia se isso é certo: -).

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top