• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Djao

Migrar projecto em VC++ 6.0 para VC++ 2008

2 mensagens neste tópico

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....

:wallbash:, o que posso fazer?

Desculpem... coloquei no forum errado, deveria ter colocado nas duvidas...

é o meu primeiro post.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

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.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora