Como criar um programa baseado em Chromium no Lazarus.

O Lazarus é mais ou menos uma tentativa de fazer uma versão opensource do Delphi.

Chromium é o nome da versão opensource do browser/navegador Google Chrome. Ao contrário do que acontece no Delphi, que já vem com tudo o que é necessário para criar um browser baseado no Internet Explorer, o Lazarus não vem com tal funcionalidade. O que vou explicar aqui será o suficiente para alguém que já programa em Delphi rodar sua primeira aplicação baseada no Chromium no Lazarus.

Você precisa de quatro coisas:

  • O Lazarus. Eu usei a versão 1.6.4 de 32 bits (em geral eu acho que versões de 64 bits só complicam as coisas);
  • Um componente chamado fpCEF3;
  • Um conjunto de bibliotecas e outros arquivos do projeto Chromium Embedded Framework (CEF);
  • O Winrar ou o 7-zip para poder abrir o arquivo acima.

É preciso ter em mente que o componente é feito para uma versão específica do CEF. Você deve baixar o componente e a versão do CEF feita para ele. Essa é possivelmente a parte mais complicada do processo e por isso eu vou detalhar aqui como eu fiz.

  • Vá na página de Releases do fpCEF3 e veja que versões estão disponíveis. Digamos que você queira fazer com a versão 3.3029, que hoje é a mais recente. Baixe o ZIP do source code dessa versão.
  • Vá na página de builds do CEF e procure pela build mais recente para o seu sistema operacional da versão que você escolheu. Note que nessa página existem seções para Linux, Windows e MAC OSX. 32 bits e 64 bits. Você deve baixar o aquivo “Standard” ou o “Minimal”. A build mais recente Standard para Windows de 32bits v3.3029 é esta. Você poderia usar a versão de 64 bits, mas enquanto está aprendendo é melhor limitar as complicações.

Baixar a build mais recente é importante porque o componente é configurado para a build mais recente. Não é frescura. Se você usar outra build pode ter problemas ao compilar ou rodar o programa.

Guarde esses arquivos porque senão mais tarde você pode ter problemas para refazer sua aplicação.

Instale o Lazarus;

OBS: No Lazarus a janela Mensagens é importante mas tem o hábito de desaparecer em segundo plano e deixar você sem saber o que está havendo. Sempre procure colocá-la em primeiro plano quando você achar que “algo deveria estar havendo” e você não está vendo nada.

Instale o componente. Isso é feito colocando a pasta “fpCEF3-x.xxxx” do componente dentro da pasta Components do Lazarus e depois clicando duas vezes em fpCEF3-x.xxxx\Component\cef3.lpk. Na janela que se abre clique em Compilar e aguarde aparecer “Sucesso” na janela de mensagens. Depois clique em Usar -> Instalar, em SIM no diálogo que vai aparecer e aguarde o Lazarus reiniciar.  Sim, ao contrário do Delphi o default do Lazarus requer reiniciar o editor ao instalar um componente. A partir desse ponto você deve ter uma aba “Chromium” na barra de componentes.

Descompacte a build do CEF. Você precisa do conteúdo das pastas “Release” e “Resources”;

O componente vem com projetos de exemplo. Para rodar um deles você precisa colocar na pasta do projeto os arquivos obtidos no passo anterior. Fica tudo misturado mesmo.

Como o Lazarus pode criar para várias plataformas ele pode “se perder” e querer compilar para Linux apesar de você estar no Windows. À esquerda do botão Executar existe o botão “Modo de Construção” (Build Mode) que controla isso. Certifique-se de estar no modo certo.

Problemas que podem acontecer:

Exceção ao rodar o programa pode acontecer ao usar a build errada do CEF ou porque o programa não está achando os arquivos.

Ao executar o navegador fica em branco: Experimente colocar um botão que ao ser clicado manda abrir o navegador no Google e clique nesse botão depois que o programa abrir completamente. Existe um problema de “timing” nos exemplos (que não ocorre nos exemplos do CEF4Delphi) que faz o programa ignorar a página que deveria abrir automaticamente. Se mesmo assim não funcionar a documentação diz que o CEF pode estar travando e talvez você precise de outra combinação de componente e build.

 

This entry was posted in Informação. Bookmark the permalink.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *