Instalar os componentes RTC SDK em versões diferentes do Delphi


O Problema

Diferentes versões do Delphi produzem diferentes versões de arquivos BPL, DCP, DCU e EXE. Não é possível compilar com o Delphi XE2 e utilizar os arquivos gerados no Delphi 2010 ou qualquer outra versão. Por isto cada projeto deve ter seu próprio Output Path. Desta forma se você adicionar o diretório dos arquivos fontes ao Library Path do Delphi, os arquivos gerados pelo compilador estarão em um diretório específico do projeto evitando conflito de versão de arquivos com outros projetos.

Frequentemente você pode encontrar conflito entre as versões dos arquivos BPL e DCP que devem ser carregados pela IDE, localizados através pelo Windows como qualquer DLL. Por exemplo, Delphi XE3 precisa do pacote rtcSDK.bpl, mas o Windows encontra primeiro a versão compilada para o Delphi 7 que foi instalada antes, e que é incompatível. Você pode usar a propriedade “LIB Sufix” no projeto para evitar estes conflitos.

Este artigo vai guiar através dos passos para instalar o RTC SDK em diferentes versões do Delphi ao mesmo tempo.

  1. Output Path
  2. Abrir o grupo de projetos dos componentes RTC SDK
  3. Unit output directory
  4. LIB Sufix
  5. Library Path.
  6. Browsing Path
  7. Instalar em outras versão do Delphi

1. Output Path

Todos os meus componentes estão instalados em um diretório base comum e o RTC SDK será instalado em “C:\Projects\Components\RealThinClient\RTCSDK“.

O “Ouput Path” para XE3 é “C:\Projects\Components\RealThinClient\RTCSDK\ Output\XE3″.

  • Primeiro passo, criar os diretórios Output e Output\XE.

2. Abrir o grupo de projetos dos componentes RTC SDK “SDKPackages_Main”

Eu uso nomes diferentes para o grupo de projetos em cada IDE, então eu salvei como SDKPackages_Main_XE3.

3. Unit output directory

Precisamos configurar onde o compilador irá gerar os arquivos DCU:

  • Ative o projeto rtcSDK no Project Manager
  • Abra a janela de configuração do projeto através da tecla de atalho “CTRL + Shift + F11″ ou pelo menu Project >> Options.
  • Em “Delphi Compiler” selecione no campo Target “All configurations – All platforms
  • No Campo “Unit output directory” digite “..\Output\XE3\$(Platform)\$(Config)

Desta forma, todos os arquivos DCU serão salvos nas pastas:

  • .\ RTCSDK\Output\XE3\Win32\Debug
  • .\ RTCSDK\Output\XE3\Win32\Release

A variável $(Platform) foi expandida para Win32 e $(Config) para Debug ou Release, de acordo com o tipo de plataforma e compilação selecionados no Project Manager.

4. LIB Sufix

Configurar o LIB Sufix, fará com que a IDE adicione um sufixo ao nome dos arquivos BPL e DCP gerados.

  • Em “Project Options”, selecione o item “Description”.
  • Preencha o campo “LIB suffix” com “_XE3″.

  • Clique no Botão OK.
  • Repetir os passos 3 e 4 para os projetos rtcSDK_DBA e rtcSDK_Raw.
  • Salvar as alterações.
  • Note que a IDE adicionou o _XE3 ao nome de cada projeto:

  • Clique com o botão direito do mouse no grupo de projetos e no menu popup em Build All para compilar todos os projetos de uma vez.
  • E agora em cada projeto clique com o botão direito em “Install”, para instalar os componentes do pacote na IDE.

Neste momento temos os arquivos DCU para XE3 em uma pasta exclusiva para esta versão, os arquivos BPL e DCP estão nas pastas específicas definidas pela IDE e com o sufixo _XE3.

5. Library Path

Para compilar seus projetos, temos de informar a IDE onde os arquivos DCU estão.

  • No Tools menu da IDE Selecione Options.
  • Environment Options >> Delphi Options >> Library.
  • Adicione o diretório dos arquivos DCU para a plataforma que estiver desenvolvendo em “Library Path” usando o botão […].
  • A IDE ainda precisa dos arquivos INC para compilar os seus projetos, para evitar adicionar a pasta Lib que contem os fontes no Library Path, crie um diretório comum em “.\RTCSDK\Output\Common” e copie os arquivos:
    • rtcDefs.inc
    • rtcDeploy.inc
    • rtcFMX_GUI.inc (opcional, somente necessário para projetos FMX com Firemonkey)
  • Adicione a pasta common no Library Path, arquivos INC são estáticos, assim pode ficar numa pasta comum a todas as versões.

  • Clique no Botão OK.

6. Browsing Path

O Delphi Code Insight não sabe onde encontrar os arquivos fonte. Somente DCU e INC estão no Library Path, se você quiser o “CTRL + Click” em alguma classe dos componentes RTC SDK, o o arquivo fonte não será encontrado, para resolver isto adicione o diretório Lib no campo “Browsing Path” logo abaixo do “Library Path”, da mesma forma que fez no passo 5.

  • Clique no Botão OK.

Instalar em outras versão do Delphi

  • Basta repetir estas etapas para todas as versões de Delphi que queira instalar os componentes RTC SDK, apenas mudando o nome dos diretórios e o Sufixo.
  • Note que versões do Delphi anteriores podem ter pequenas diferenças em alguns passos, se você tiver alguma dificuldade envie sua dúvida para o Fórum de suporte.