5 de junho de 2009

Delphi 2009

Semana passada resolvi instalar o Delphi 2009 e iniciar a conversão dos meus componentes e projetos pessoais, que estavam no Delphi 7, para essa nova versão.

O primeiro problema foi instalar no meu notebook, deu uma dor de cabeça lascada. Instalava, mas faltava componentes, tentava desintalava, trava o instalador, apaguei tudo, limpei os registros do Windows, tentei instalar novamente e travava no meio do caminho. Bom, até que depois de umas 10 tentativas, finalmente consegui. O engraçado que na máquina de casa, um desktop, instalou de primeira… vai entender.

Desempenho.
Logo de cara, percebi que é um tanto mais pesado que o Delphi 7 no meu notebook (AMD 64, HD80Gb 4200 rpm e 1 GB de memória) mas até que aceitável a demorar para abrir. No micro de casa (AMD 64 X2, HD 250 SATA 7200 e 2 GB de memória) até que foi rápida a inicialização.
Porém, a demora só na entrada. Compilação achei mais rápida, as ajudas (hints) abrem bem mais rápido que no Delphi 7, e não fica dando aquelas malditas travadas do Delphi 7 aonde ele fica procurando sabe lá o que no seu HD.

Interface
Mudou de mais em relação ao Delphi 7, mas essa mudança já vem desde a versão 8. Particularmente, acho a interface do Delphi 7 mais produtiva e fácil de trabalhar, mas é falta de costume. A busca rápida por componentes ajuda bastante, mas o estilo Visual Studio, ainda não me agrada muito.
As opções do menu são praticamente as mesmas, mudando pouca coisa em relação a versão 7. A parte de opções mudou bastante, mas só na questão de disposição, pois as opções são as mesmas.

Convertendo Componentes
Bom, ai começa o seu problema. Muitas coisas mudaram na linguagem, principalmente na questão de variaveis String e Char. Como vocês sabem (se não sabem, vão saber) que na versão 2009, o tipo String foi alterado o charset para Unicode16 e isso trouxe algumas mudanças. Muitas funções não aceitam mais o caracter Char e você terá que realizar a conversão para AnsiChar (basta fazer a chamada da funçao “AnsiChar()”, é simples de resolver, mas enche o saco ter que mudar tudo). Muitas funções tiveram incrementos de parametros, o que geram diversos erros de compilação, já que o parametro não é opcional.
Tive problemas com vários componentes de terceiros (os meus não deram), mas como eu tinha os fontes, consegui ajustar. Só não consegui converter a biblioteca RXLib, mas como eu utilizo apenas 3 componentes desta biblioteca, criei os meus próprios para substituir, já que o projeto foi abandonado e nem compensa perder tempo com essa biblioteca (se você utiliza, vai ter dor de cabeça para arrumar, alguns tipos e classes do Delphi utilizados na RXLib mudaram na versão 2009).
Em resumo, se você depende de componente de terceiros, tenha certeza de que o fornecedor já tenha preparado os componentes para Delphi2009 ou que você tenha os fontes, certamente você terá que mexer neles. Se você depende de um componente de terceiro e não tem ele para versão 2009, esqueça, não migre ainda.

Convertendo as aplicações
Bom, como tive que me desfazer da RxLib, estou ainda tendo que trocar os componentes desta biblioteca pelos meus próprios componentes. Ainda estou nesta fase e já está dando bastante trabalho. Depois que terminar, conto a vocês qual foi o resultado.

Finalizando…
Até o momento, achei a ferramenta bastante estável, coisa que não vi desde a versão 7. Quem já utilizou a versão 2007 não achará tanta diferença na interface, mas vai encontrar diferenças na parte de código, pois algumas coisas referente a linguagem mudou. A parte de edição de código, achei muito boa, pois ficou as dicas referente às funções tem links que ajudam a pesquisar no help e abrem muito rápido (bem diferente da versão 7). Tem vários auxilios de código, “code completation” muito interessante, lembrando o NetBeans quando se fala em Java (por exemplo, você escreve try e ele já monta a estrutura com o finnaly e end no final).
Gostei muito do Delphi2009, só preciso me acostumar com a nova interface, mas, sou suspeito em dizer, pois sou fã do Delphi desde sua verão 3.0 e utilizo essa ferramenta desde 1997, mas se você também gosta da linguagem, saiba que o pessoal da CodeGear (agora da Embarcadeiro) fez um excelente trabalho na versão 2009.
Só uma coisa me deixou desanimado: seus programas compilados em Delphi 2009 não rodarão em máquinas com Windows 98 (pelo menos é o que a CodeGear declarou) em virtude das mudanças feitas no charset de Strings, que passou para Unicode 16 que não é suportado por versões do Win98, ME e algumas versões mais antigas do Windows 2000.

Se deseja migrar para Delphi 2009 mesmo assim (como eu fiz) eu recomendo cautela, avalie seu componentes, seus sistemas, seus clientes e veja se não irá gerar mais dor de cabeça para você. Caso você não tenha problemas em ter que rodar seu sistema em Win98 e nem com componentes, vá em frente, arrisque e boa sorte.

Até a próxima.

Nenhum comentário:

Postar um comentário