Aprenda a realizar a instalação da biblioteca ZeosLib no Embarcadero RAD Studio Delphi XE2, este guia irá lhe apresentar um passo a passo da instalação.


Após passar dificuldades na realização da instalação do ZeosLib no Delphi XE2, decidi compartilhar o "caminho das pedras".

A Bilbioteca ZeosLib

A bilbioteca ZeosLib é composta por um conjunto de ferramentas para que você possa ter uma conexão nativa com banco de dados, ou seja, uma conexão sem drivers auxiliares como o ODBC.

O ZeosLib é um projeto de código aberto, sua instalação não é tão complexa, mas segue a receita do bolo, basta seguir os passos sem pular “nenhum ingrediente”.

Baixando a Biblioteca ZeosLib

Bem primeiramente baixe a última versão do ZeosLib diretamente no repositório SVN Oficial.

Se você utiliza o SVN como controle de versão, poderá utilizar o seguinte comando:

# svn checkout https://zeoslib.svn.sourceforge.net/svnroot/zeoslib/trunk/ zeoslib

Se você utiliza o GIT como controle de versão, poderá utilizar o seguinte comando:

# git svn clone --revision HEAD https://zeoslib.svn.sourceforge.net/svnroot/zeoslib/trunk/ zeoslib

Adicionando o diretório do ZeosLib ao Library Path do Delphi

Vamos adicionar uma variável de ambiente no Windows, se você utiliza o Windows Seven como eu, navegue até:

  • Painel de Controle
    • Sistema e Segurança
      • Sistema

Na barra lateral clique em "Definições Avançadas do Sistema", uma janela como esta será exibida:

Windows Seven - Propriedades do Sistema

Clique no botão identificado na figura como "Variáveis de ambiente..." e uma janela como esta abaixo será exibida:

Windows Seven - Propriedades do Sistema - Variáveis de Ambiente

Preencha a caixa com os seguintes valores:

  • Nome da variável: ZEOSLIB
  • Valor da variável: PATH-onde-você-baixou-o-zeoslib, no meu caso: D:\Delphi Components\zeoslib

Agora iremos adicionar o path do ZeosLib ao Library Path do Delphi, para isto, clique no menu "Tools" e selecione "Options..."

Uma tela como esta abaixo será exibida:

Delphi XE2 - Library Path

Clique no botão "..." indicado na figura acima para adicionar um novo path.

Adicione os seguintes caminhos:

  • $(ZEOSLIB)\packages\DelphiXE2
  • $(ZEOSLIB)\src\component
  • $(ZEOSLIB)\src\core
  • $(ZEOSLIB)\src\dbc
  • $(ZEOSLIB)\src\parsesql
  • $(ZEOSLIB)\src\plain
No final você terá um resultado semelhante a este: Delphi XE2 - Library Path - Directories

Clique no botão "OK", feche as janelas restantes e reinicie o Delphi XE2.

Abrindo o projeto do ZeosLib no Delphi XE2

Com o Library Path do Delphi XE2 configurado, iremos realizar a instalação do ZeosLib. Clique no botão: File > Open Project... (Ctrl + F11)

Navegue até a pasta em que você baixou o ZeosLib, no meu caso: D:\Delphi Components\zeoslib. Logo após, abra o diretório packages > DelphiXE2 e abra o projeto chamado ZeosDbo.groupproj.

Compilando o ZeosLib no Delphi XE2

Você deverá compilar os pacotes na seguinte ordem:

  • ZCore160.bpl
  • ZPlain160.bpl
  • ZParseSql160.bpl
  • ZDbc160.bpl
  • ZComponent160.bpl
  • ZComponentDesign160.bpl
A imagem abaixo, ilustra este processo: Delphi XE2 - ZeosLib - Compilando

Depois que você compilar todos os pacotes, enfim poderá realizar a instalação. Clique sobre o pacote ZComponentDesign160.bpl e selecione a opção "Install", como mostra a imagem abaixo:

Delphi XE2 - ZeosLib - Instalando

Se tudo ocorrer bem, uma mensagem como esta será exibida:

Delphi XE2 - ZeosLib - Mensagem de instalação

Concluímos a instalação da biblioteca, reinicie o Delphi XE2 e faça bom proveito do componente ZeosLib.

63 Respostas para “Instalando ZeosLib no Delphi XE2”

  1. Marcos

    Seguir exatamente todos os passos sem mudar absolutamente nada por 2 vezes e em ambas apresenta o erro: “O programa não pode ser iniciado porque está faltando o arquivo ZParseSql150.bpl no seu computador. Tente reinslalá-lo para resolver esse problema”, alguma sugestão????

    Responder
    • João Paulo Cercal

      Olá Marcos, uma das formas mais rápidas de solucionar esse problema é colocando o diretório onde está presente o arquivo “ZParseSql150.bpl” no PATH do sistema operacional.

      Variáveis de ambiente > PATH > Adicione ao final:
      ;diretório-zeos-lib/packages/DelphiXE2/build

      Logo após, feche e abra novamente o delphi executando em seguida o processo de compilação.

      Responder
  2. Franklin Ricardo

    Quando vou copilar da um erro incompatible type ‘PAnsichar ‘and’PWidechar’ na seguinte linha, Result := MemLCompAnsi(PChar(Str), PChar(SubStr), LenSubStr), vc poderia me ajudar?

    Responder
      • Julio Sardinha

        Meu amigo, por favor, estou tentando instalar o zeos, mas estou ficando maluco… nao consigo de forma alguma…
        Estou seguindo suas orientações mas qdo compilo o ZDbc_XE2160.bdl recebo essa mensagem, voce pode de dar uma orientação?? Muito obrigado.

        [DCC Fatal Error] ZPlain.dpk(1): E2225 Never-build package ‘ZPlain’ must be recompiled
        [DCC Fatal Error] ZDbc_XE2.dpk(33): E2202 Required package ‘ZPlain’ not found

        Responder
        • João Paulo Cercal

          Você está compilando os arquivos do projeto na ordem em que são apresentados, “superior” para “inferior”? Se sim, em que compilação ocorre este problema?

          Verifique também se você possuí permissões de escrita na diretório do ZeosLIB e suas subpastas.

          Responder
    • João Paulo Cercal

      Verifique se a solução encontrada pelo Hernandez resolve o seu problema:

      [DCC Error] ZSysUtils.pas(1033): E2010 Incompatible types: ‘PPointerList’ and ‘TPointerList’

      A forma para resolver isso é só alterar o tipo “PPointerList” para “TPointerList’”, colocando um “@” antes da variável “List” na linha:

      QuickSort(List, 0, Count – 1, Compare);

      ficando assim:

      QuickSort(@List, 0, Count – 1, Compare);

      e todos os erros anteriores foram resolvidos se subestituindo “PChar” por “PAnsiChar”

      Responder
  3. Roney Ribeiro

    Otimo! muito bom esse exemplo de instalação!
    mas gostaria de uma ajuda… quando eu compilo a package ZPlain_XE22150.bpl aparece o seguinte erro: [DCC Fatal Error] ZCore.dpk(1): E2225 Never-build package ‘ZCore’ must be recompiled

    não consigo revolver…

    Grato.

    Responder
  4. Franklin Ricardo

    Amigo me da outra ajuda ao copilar o ZPlain_XE22150.bpl da um erro de Incompatibles types: ‘PPointerList’ and ‘TPointerList’, na linhaQuickSort(List, 0, Count – 1, Compare);

    Responder
  5. Wanderson Robert

    Segui o exemplo, e tubo beleza, até instala o Zeos no Delphi XE2, mas o componente não aprece na paleta de componentes e você conferir pelo Install Packges, você encontra o Zeos no lista de componentes instaladados, porém não existem os componentes na lista de componentes.

    Responder
        • Christiano Pena

          João Paulo, estou tendo o mesmo problema do “Diego Fernandes de Paula” e do “Wanderson Robert” já tentei com Delphi XE e XE2 e com vários pacotes para poder ter certeza que não estava fazendo nada de errado, já até formatei o computador e instalei tudo do zero e nada funcionou, por favor se você puder nos ajudar eu agradeço.

          Responder
          • João Paulo Cercal

            Olá bom dia Christiano,

            Até onde eu sei, se o componente foi instalado então ele deverá aparecer na paleta de componentes, conforme esta imagem que bati do meu ambiente: imagem.

            Nota: Os componentes só irão ser exibidos no modo visual, em um form. Por exemplo um dataModule.

  6. Binho

    João Paulo, não está sendo possível compilar por causa do ZSysUtils.pas
    Problemas como:
    PPointe Tpointer
    decimal.. etc..

    Qual a solução?
    Já tentei pegar o ZEOSDBO=7.0.0-alpha mas não resolveu.

    Responder
    • João Paulo Cercal

      Citando a solução encontrada pelo Hernandez, para o PPointerList TPointerList:

      [DCC Error] ZSysUtils.pas(1033): E2010 Incompatible types: ‘PPointerList’ and ‘TPointerList’

      A forma para resolver isso é só alterar o tipo “PPointerList” para “TPointerList’”, colocando um “@” antes da variável “List” na linha:

      QuickSort(List, 0, Count – 1, Compare);

      ficando assim:

      QuickSort(@List, 0, Count – 1, Compare);

      e todos os erros anteriores foram resolvidos se subestituindo “PChar” por “PAnsiChar”

      Responder
  7. João Paulo

    Estou com o mesmo erro do Franklin Ricardo: Ao compilar o ZPlain_XE22150.bpl da um erro de Incompatibles types: ‘PPointerList’ and ‘TPointerList’, na linhaQuickSort(List, 0, Count – 1, Compare);
    :(

    Responder
    • João Paulo Cercal

      Bem, desculpe a demora no retorno, pois ando bem ocupado. Dei uma pesquisada rápida no problema de vocês, mas não encontrei a solução, eis que me surgiu a seguinte dúvida, Em que versão do Delphi estão instalando o Zeos?

      Responder
    • João Paulo Cercal

      Citando a solução encontrada pelo Hernandez:

      [DCC Error] ZSysUtils.pas(1033): E2010 Incompatible types: ‘PPointerList’ and ‘TPointerList’

      A forma para resolver isso é só alterar o tipo “PPointerList” para “TPointerList’”, colocando um “@” antes da variável “List” na linha:

      QuickSort(List, 0, Count – 1, Compare);

      ficando assim:

      QuickSort(@List, 0, Count – 1, Compare);

      e todos os erros anteriores foram resolvidos se subestituindo “PChar” por “PAnsiChar”

      Responder
  8. Diemes

    Amigo, quando vou compilar o zplain da o seguinte erro:
    [DCC FATAL ERROR] zplain _xe2.dpk(32): F2141 Bad File Format: ‘C:Program Files(x86)BorlandDelphi7ProjectsBplZcore.dcp’

    eu add o caminho certinho como você passou, incluse o Zcore compilou certinho, agora não sei pq ta pegando esse caminho do D7…alguma dica? sera que tenho que desinstalar o D7 da maquina?

    Responder
    • João Paulo Cercal

      Olá Diemes, acredito que você não precise reinstalar o Delphi. Pois, em meu ambiente de desenvolvimento tenho instalado o Delphi 2006 e o XE2, ambos com o Zeos. Entretanto, a desinstalação não deixa de ser um hipótese.

      Responder
  9. Felipe

    Olá amigo, obrigado pelo post, muito útil.

    Tentei baixar pelo Turtoise, mas está pedindo senha, será que eles mudaram algo?

    Se tiver alguma informação, agradeço.

    Abs

    Responder
  10. tete

    Olá amigo!
    Podes me ajudar com esse erro
    [DCC Error] ZSysUtils.pas(1033): E2010 Incompatible types: ‘PPointerList’ and ‘TPointerList’

    Responder
  11. Eduardo

    Para que serve o checkout
    Vc poderia deixar o link para o download.
    Desculpe e porque sou novo na instalação do zeoslib e queria fazer minhas aplicações com ele?

    Responder
  12. DIGAS

    OLÁ AMIGOS, ALGUÉM TEM UM TUTORIAL DE COMO INSTALAR COMPONENTES DA DEVEXPRESS VERSÃO 11.2.5 PARA DELPHI XE2 UPDATE 4?
    FICO NO AGUARDO AMIGO

    Responder
  13. Diego Fernandes de Paula

    Ola amigo. Eu segui exatamente esses passos e todos os módulos são compilados corretamente, mas no final ele dá uma mensagem diferente da sua, que mostra quais os componentes que foram instalados. No meu mostra uma mensagem de “instalação completada com sucesso”, mas não aparece componente nenhum na paleta, e também se eu entrar em Component > Install Packages e clicar no Zeos, ele não mostra componente algum. Onde posso estar errando?
    Tenho o Zeos funcionando corretamente em casa e na empresa com Delphi 6 e 7.
    Parabéns pelo artigo!

    Responder
    • João Paulo Cercal

      Comigo isso já ocorreu também, resolvi isso reiniciando o Delphi. Note que você deve estar em um FORM (no modo visual) para que os componentes sejam listados na paleta do Zeos.

      Responder
    • Carlos Antonio pereira

      Amigão, tive esse mesmo problema e depois de 2 dias tentando instalar, descobri que o problema era as várias versões do Zeoslib que tinham na minha máquina.

      Minha solução foi procurar e apagar todos os arquivos .bpl e .dcu do computador. Consegui resolver assim. Se você prestar atanção, verá que quando tenta compilar o componentDesignerXXX, aparece uma mensagem que serão removidos alguns arquivos .pas por causa da imcompatibilidade com outros que estão no computador.

      Responder
  14. Danilo Lima

    To usando o XE2 Update 1
    Ele não compila, da vários erros no código…

    [DCC Error] ZCompatibility.pas(193): E2251 Ambiguous overloaded call to ‘CharInSet’
    System.SysUtils.pas(4754): Related method: function CharInSet(Char; const TSysCharSet): Boolean;
    ZCompatibility.pas(133): Related method: function CharInSet(Char; const TSysCharSet): Boolean;
    [DCC Error] ZCompatibility.pas(193): E2010 Incompatible types: ‘AnsiChar’ and ‘Char’
    [DCC Error] ZCompatibility.pas(197): E2251 Ambiguous overloaded call to ‘CharInSet’
    System.SysUtils.pas(4754): Related method: function CharInSet(Char; const TSysCharSet): Boolean;
    ZCompatibility.pas(133): Related method: function CharInSet(Char; const TSysCharSet): Boolean;
    [DCC Error] ZCompatibility.pas(197): E2010 Incompatible types: ‘AnsiChar’ and ‘Char’
    [DCC Warning] ZCompatibility.pas(211): W1050 WideChar reduced to byte char in set expressions. Consider using ‘CharInSet’ function in ‘SysUtils’ unit.
    [DCC Fatal Error] ZVariant.pas(429): F2063 Could not compile used unit ‘ZCompatibility.pas’

    Alguma idéia??

    Responder
  15. Diego

    João neste tutorial que vc esta passando, eu não consegui instalar pois esta dando erro de Ppointerlist and tpointerlis imcompatibilidade, estou estalança o package delphi15 do zeos 7 na versão do delphi xe2, surgiu uma duvida neste caso se instalarmos com o seu tutorial soh sera possivel compilar programas em 32bits??

    Responder
  16. Diemes Ruas

    Boa Noite

    João Paulo..formatei meu desktop e instalei o Xe2, estou tentando instlar o zeos conforme você disse, até o componente Zdbc_XE2150.bpl compilou certinho, porém quando chega no Zcomponent_XE2150.bpl e clico em compilar ele da o seguinte erro:
    [DCC Error] ZComponent_XE2.dpk(58): E1030 Invalid compiler directive: ‘$ENDIF’
    Failed…..espero que possa me ajudar….obrigado.

    Responder
    • Mickey

      Amigos, depois de muito quebrar a cabeça consegui resolver o problema que o nosso amigo relatou acima:

      [DCC Error] ZComponent_XE2.dpk(58): E1030 Invalid compiler directive: ‘$ENDIF’
      Failed…..espero que possa me ajudar….obrigado.

      É o seguinte. Provavelmente você deve ter 2 IDEs do Delphi instaladas no mesmo computador. Cada vez que o Delphi instala ele mexe na Path do Windows. Com isso o Windows encontra 2 paths para o Lib e Bin, o que gera conflito. Então quando for mexer no XE2 altere a path do windows e mantenha apenas as que se referirem ao mesmo e vice-versa com a outra versão do Delphi.

      Espero ter ajudado. Abraços
      Mickey

      Responder
  17. Hernandez Giordano Brito

    do mesmo jeito que muitos outros companheiro acima comentaram, tb estou tendo esse problema de incompatibilidade de tipos na linha de código:

    “QuickSort( List, 0, Count – 1, Compare);”

    com esse erro:

    [DCC Error] ZSysUtils.pas(1033): E2010 Incompatible types: ‘PPointerList’ and ‘TPointerList’

    pelo que vi acima sem solução….=/….desde já agradeço o tutorial mt bem explicado e o espaço para tirar dúvidas.

    Responder
  18. Hernandez Giordano Brito

    Olá amigo, desculpe a ignorância, consegui resolver o problema de incompatibilidade de tipos que relatei antes com a mensagem:

    [DCC Error] ZSysUtils.pas(1033): E2010 Incompatible types: ‘PPointerList’ and ‘TPointerList’

    A forma para resolver isso é só alterar o tipo “PPointerList” para “TPointerList’”, colocando um “@” antes da variável “List” na linha:

    QuickSort(List, 0, Count – 1, Compare);

    ficando assim:

    QuickSort(@List, 0, Count – 1, Compare);

    e todos os erros anteriores foram resolvidos se subestituindo “PChar” por “PAnsiChar”

    Responder
  19. Rodrigo

    Acabei de instalar e foi tudo tranquilo. A única coisa que precisei mudar foi o diretório do patch:

    Nome da pasta Zeos\packages\Delphi15\build

    para:

    Nome da pasta Zeos\packages\DelphiXE2

    Responder
  20. Renan

    Eu não sei porque, mas estou tendo um problema no zeos delphi xe2 + sqlite3, quando eu utilizo uma função de agregação como max, sum, min, avg etc…, ao adicionar os campos (“Add All Fields”) no zquery ele joga o tipo do campo como TWideString, se eu declaro o mesmo campo fora de uma função de agregação ele vem com a tipagem correta, mas é só utilizar qualquer uma, que o campo retorna como TWideString.

    Alguem está passando pelo mesmo problema?

    Responder
      • Ronaldo

        Poxa eu tava viajando aqui, na verdade eu não estava colocando protocol, mas agora ele fica pensando na hora de dar conect no banco da connection refused, mas está tudo ok com firewall e com o banco! você sabe onde eu posso achar os drivers para colocar na pastas?

        Responder
  21. Andre Bisi

    Segui todos os passos, mas não compila o ZComponentDesign160.bpl, da msg “The following changes must be made before this package can be compiled. Choose OK to apply these changes and continue compiling. Remove ZPropertyEditor, ZUpdateSqlEditor, ZComponentReg.”
    ja to ficando loko com isso, pelo amor de Deus, me ajuda

    to instalando no delphiXE2 no win 8.

    Responder
  22. Ewerton

    Muito bom a matéria

    Sempre vejo ela ao instalar o Zeos (formato bastante o meu pc, fora que uso várias versões do RAD Studio)

    Valeu

    Responder
  23. Macloud

    Ola a Todos.. estou com um problema sinistro…
    Instalação ZEOS 7.1.2 no DELPHI XE2…

    primeiro o erro do ZVARIANT.DCU.. ja coloquei os caminhos corretos na LIB do delphi.. tudo certo.. mas o arquivo realmente não existe… em nenhuma das versões q eu baixei.. pelo menos da 7.0 para cima…

    Então copiei ele de um outro micro.. e agora simplesmente diz ZVARIANT.PAS

    [DCC Fatal Error] ZCore.dpk(54): F2063 Could not compile used unit ‘ZVariant.pas’

    e não sei mais como resolver…
    minha opção é tentar instalar a Versão Zeos para DELPHI XE no DELPHI XE2

    Responder

Comentar

  • (não será publicado)