Logo

Usando o componente CEF4Delphi

Gladiston Santana - Um site para chamar de meu

Introdução

O Chromium é um projeto de código aberto para criar navegadores multiplataforma, servindo de base para o Chrome e o Edge. O Chromium Embedded Framework (CEF) permite incorporar essa tecnologia em aplicativos do usuário no Linux, macOS e Windows.

Neste artigo, utilizaremos o CEF4Delphi. Apesar do nome, ele possui suporte completo para Lazarus e Delphi, sendo a escolha ideal para substituir versões obsoletas como o fpCEF3.

Instalando-o no Lazarus-IDE

A instalação é feita via pacotes. Siga os passos:

1. Acesse o repositório: https://github.com/salvadordf/CEF4Delphi

2. No terminal, execute os comandos abaixo para clonar o componente:

cd C:\lazarus\components
git clone https://github.com/salvadordf/CEF4Delphi.git
cd CEF4Delphi

3. No Lazarus, abra o pacote cef4delphi_lazarus.lpk em Package | Open Package File, compile e instale. Se a IDE sugerir o DCPCrypt, aceite a inclusão.

Instalação do Pacote no Lazarus
Componentes CEF4 instalados na IDE

Criando o Primeiro Projeto

Recomenda-se iniciar pelo demo SimpleBrowser. Copie a pasta do demo para seu diretório de projetos e ajuste as opções de compilação para o Target desejado (ex: Win32).

Copiando pasta do Demo
Configuração de Target do Compilador

É vital que o runtime do CEF baixado seja compatível com a arquitetura (32 ou 64 bits) do executável gerado.

Ajuste de Compiler Options
Ajuste Final do Projeto

Download e Preparação do Runtime

Baixe os binários (tarballs) na página oficial. Você precisará apenas dos arquivos das pastas Release e Resources.

Página de Download do Runtime
Subpastas Release e Locales

Copie os arquivos para a pasta do seu projeto seguindo a estrutura correta.

Arquivos de Resources selecionados
Arquivos de Release selecionados
Estrutura final da pasta do projeto

Vídeo Tutorial: Assista ao procedimento de configuração externa.

Abrir Vídeo em Nova Aba
Resultado Final - SimpleBrowser Rodando

Exemplo de Inicialização (Pascal)

O código do CEF exige inicialização prévia no arquivo .lpi para evitar erros de memória:

program SimpleBrowser;
{$I cef.inc}
uses Forms, Interfaces, uCEFApplication;

begin
  GlobalCEFApp := TCefApplication.Create;
  // Define pasta de locales dinamicamente
  GlobalCEFApp.LocalesDirPath := UTF8Decode(GetCurrentDir + PathDelim + 'locales');

  if GlobalCEFApp.StartMainProcess then
    begin
      Application.Initialize;
      Application.CreateForm(TForm1, Form1);
      Application.Run;
    end;
  GlobalCEFApp.Free;
end.

Conclusão

O CEF4Delphi é um componente robusto e moderno. Embora sua configuração inicial seja mais complexa que a do antigo TWebbrowser, ele oferece um navegador completo e atualizado para suas aplicações Pascal, sendo excelente para navegação avançada e automação de bots.