Djao Posted May 14, 2009 at 03:18 PM Report #264160 Posted May 14, 2009 at 03:18 PM Boa Tarde, Actualmente possuo um projecto que foi desenvolvido na tua totalidade em VC++ 6.0 e foi migrado para VC++ 2008. Pois bem, após a sua correcta compilação, a aplicação sem um padrão aparente, e sem uma frequência definida, da o erro tipico de crash, e finaliza. Após analizar os eventos registados no windows, encontro erros desconhecidos e erros da mfc90.dll. Como posso saber o que foi evoluido desde o 6.0 para a versão 2008, para saber se é necessario ajustar algum codigo. Ja encontrei um erro simples como este. Em VC6.0, o codigo erá: CString aux=""; Em VS2008, tive q mudar o codigo, para: CString aux.Empty(); pq na linha seguinte, a este codigo, a variavel, ainda tinha um valor.... , o que posso fazer? Desculpem... coloquei no forum errado, deveria ter colocado nas duvidas... é o meu primeiro post.
OldCoder Posted May 19, 2009 at 11:37 AM Report #265335 Posted May 19, 2009 at 11:37 AM Se começaste com o VC++6, então o mais certo é teres problemas no código todo. O compilador de C++ antigo da Microsoft não obedece aos standards, enquanto as novas versões sim (e recomendam-se!). As MFC de facto, também mudaram e muito entretanto. Se o projecto é razoavelmente pequeno, é melhor reimplementar os métodos todos (mas manter as classes como estão) para teres a certeza que o executável se comporta previsivelmente. So o teu código é grande demais, uma maneira de tentar lidar com o problema poderia ser reverse-engineering ao código e reformatar. Não terias o código magicamente corrigido, mas pelo menos detectavas os erros mais facilmente. Pode ser que um programa CASE para UML com ferramentas de refactoring como o StarUML (gratuito) ajude nesse caso.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now