domingo, 23 de setembro de 2012

Instalando Indy 10 no Delphi 7

Olá, recentemente surgiu a necessidade de consumir recursos REST utilizando o Delphi, no caso a versão XE2, mas muitos projetos ainda utilizam delphi 7. O Delphi XE2 vem com a versão 10 da biblioteca Indy, e funcionou muito bem, e quando fui testar no Delphi 7, que vem com Indy 9, surgiram vários problemas na manipulação dos códigos de retorno HTTP, e para resolver isso decidi atualizar a versão da biblioteca indy do Delphi 7, da versão 9 para a versão 10.

Para começar baixe a versão mais recente através do endereço http://indy.fulgan.com/ZIP, no momento desta publicação, a última versão disponível é o build 4782.

No Delphi 7, vá na opção Component\Install Packages, localize a biblioteca Indy conforme a imagem abaixo, e remova a biblioteca clicando no botão Remove.


Feche o Delphi, pois é preciso remover as referências do Indy 9 na pasta de instalação do delphi. Vá até a pasta onde o delphi está instalado, por padrão "C:\Program Files\Borland\Delphi7". Renomeie os arquivos do Indy adicionando o sufixo indy9, caso você queirar restaurar em outro momento, ou apague os arquivos se sentir a vontade. Deve ficar conforme segue:

  • Bin\indy70.bpl para Bin\indy70_indy9.bpl
  • Bin\indy70.map para Bin\indy70_indy9.map
  • Bin\dclindy70.bpl para Bin\dclindy70_indy9.bpl
  • Bin\dclindy70.map para Bin\dclindy70_indy9.map
  • Lib\indy.dcp para Lib\indy_indy9.dcp
  • Lib\indy.dcu para Lib\indy_indy9.dcu
  • Lib\dclindy.dcp para Lib\dclindy_indy9.dcp
  • Lib\dclindy.dcu para Lib\dclindy_indy9.dcu
  • Source\Indy para Source\Indy_9

Remova também todos os dcu's existentes dentro das pastas Lib e Lib\Debug, que tenham o nome iniciado com "id", por exemplo, "IdBaseComponent.dcu".

Descompacte o arquivo que você baixou. Dentro há uma pasta Lib e um arquivo Fulld7.bat que compila e instala para você, mais preferi fazer a instalação manualmente, para isso, é preciso compilar e instalar os seguintes pacotes, na sequência que segue:
  • IndySystem70.dpk (in Lib\System) --> Apenas Compila
  • IndyCore70.dpk (in Lib\Core) --> Apenas Compila
  • IndyProtocols70.dpk (in Lib\Protocols) --> Apenas Compila
  • dclIndyCore70.dpk (in Lib\Core) --> Compila e Instala
  • dclIndyProtocols70.dpk (in Lib\Protocols) --> Compila e Instala

Agora só falta adicionar os novos arquivos ao LibraryPath do delphi:
  • C:\Indy10\Lib\System
  • C:\Indy10\Lib\Core
  • C:\Indy10\Lib\Protocols

Era isso, agora seu Delphi 7 pode usufruir das melhorias e correção de bugs adicionadas ao Indy 10.

Qualque dúvida ou problema durante a atualização deixe um comentário.