Sexta-feira, Dezembro 03, 2004

Migrando componentes para Delphi 2005

Recebi esta pergunta:

Gostaria de saber como faço com os componentes que usava em Delphi 7... Posso migrar para o Delphi 2005 e instalar os componentes (ex. eu uso Jedi, e alguns outros componentes) no 2005, ou tenho que substituir por itens do novo Delphi?

A resposta é: Depende. O Delphi 2005 é um programa de múltiplas personalidades e a utilização de componentes do Delphi 7 pode variar de "Sim, pode usar sem mudanças" até "Não dá mesmo".
Se você tiver os fontes dos componentes, a coisa fica mais fácil. Se não tiver, tem que conseguir os componentes atualizados para o Delphi 2005, pois não há maneira de usar os dcus do Delphi 7 no Delphi 2005.
Se tiver os fontes, pode instalá-los no Delphi 2005, na personalidade Win32, geralmente com poucas mudanças (componentes que visam diversas versões do Delphi, geralmente tem diretivas {$IFDEF} que visam as versões do Delphi. Temos que incluir nas diretivas o VER170, referente ao Delphi 2005, permitindo que o componente reconheça o Delphi 2005.
No caso específico dos componentes Jedi, as últimas versões estão sendo compatiblizadas para isso, mas ainda tive algumas dificuldades para instalá-los no Delphi 2005. Acredito que este problema estará superado em breve.
Para a personalidade VCL.NET, a coisa é um pouco mais complicada, pois algumas alterações devem ser feitas no fonte para compatiblizar com a plataforma .NET. O mesmo acontece na personalidade WinForms. Nesta personalidade, deve-se ter o cuidado de não incluir chamadas da VCL, como da units SysUtils, por exemplo. Isto faz com que a VCL deva ser adicionada ao aplicativo, aumentando-o significativamente.
A grande vantagem, aqui, é que podem ser usados componentes criados em outras linguagens .NET, como C# ou VB.NET, como se fossem componentes nativos Delphi.

4 Comentários:

At 2:22 PM, Anônimo disse...

opa.. mas onde ponho esse VER170 ???
No meu caso tenho os fontes.. só não estou sabendo fazer !

 
At 2:39 PM, Bruno disse...

Se você tem os fontes, sugiro que dê uma pesquisada (com uma ferramenta de pesquisa de texto) nos fontes por $IFDEF VER.
Provavelmente, onde encontrar este texto estão os locais para colocar o texto. Uma outra sugestão é procurar algum arquivo com extensão .inc. Muitas vezes as condicionais estão neste arquivo.

 
At 4:30 PM, Wagner disse...

Usei o Indy 9 p/ desenvolver uma ferramenta através do B. Delphi 7 e agora estou migrando o código p/ o B. Delphi 2005.
Durante a instalação do B. Delphi 2005 houve o questionamento sobre qual versão do Indy instalar - 9 ou 10. Escolhi a versão 10 e código da ferramenta não tá compilando devido a falhas nos componentes IdHTTP e IdSMTP. Algumas propriedades não são identificadas - como Host e Port. Sabes me dizer onde posso encontrar um documento que fale sobre as diferenças entre estas duas versões? Pelo que parece houve remodelagem de classes deste pacote. Obrigado.

 
At 5:59 PM, Bruno disse...

Realmente, houve muitas mudanças no Indy 10 em relação ao Indy 9. O único documento que conheço sobre a migração do Indy 9 para o Indy 10 está no help do Delphi. Abra o help do Delphi e, no conteúdo, abra o tópico Internet Direct (Indy). Lá tem um subtópico Migrating to Indy 10

 

Postar um comentário

<< Home