Chromium é o nome da versão opensource do browser/navegador Google Chrome. Normalmente você não precisa disso porque o Delphi 7 já vem com tudo o que é necessário para criar um browser baseado no Internet Explorer, que é o suficiente em projetos de automação (o foco deste blog). Na maioria das vezes os erros no uso de twebbrowser são provocados pela falta de uma configuração. Mas se por alguma razão o Chromium for realmente necessário, o que vou explicar aqui será o suficiente para alguém que já programa em Delphi rodar sua primeira aplicação baseada no Chromium.
Você precisa de quatro coisas:
- O Delphi 7, claro;
- Um componente chamado CEF4Delphi;
- 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 especificada. Guarde esses arquivos porque senão mais tarde você pode ter problemas para refazer sua aplicação.
- Baixe o CEF4Delphi aqui. Clique em “Clone or Download”;
- Na mesma página, siga o link para baixar o arquivo do CEF desejado. Eu usei o de 32bits.
A instalação do Delphi4CEF é quase como a de qualquer outro componente:
- Crie uma pasta vazia chamada “dcu” dentro do diretório “Sources”;
- Clique duas vezes em “Sources\CEF4Delphi_D7.dpk”, compile e instale. Uma nova aba “Chromium” deve aparecer na barra de componentes;
- Adicione o diretório Sources do componente ao Library Path do Delphi;
No diretório “demos” você encontrará diversos exemplos de uso, mas para funcionar você ainda precisa fazer algumas coisas:
- Apague todos os arquivos que não são requeridos em um projeto do Delphi7. No meu caso a presença de algum deles estava travando o Delphi logo ao abrir o projeto;
- Apague os arquivos .res (serão recriados automaticamente) para evitar um erro de access violation em RLINK32;
- Comente a linha {$SetPEFlags IMAGE_FILE_LARGE_ADDRESS_AWARE} no código-fonte.
A partir deste ponto você deve ser capaz de compilar o demo. Vai dar um erro “CEF Binaries Missing!” que significa que não pode achar o CEF, mas é normal e vamos resolver adiante. Mas enquanto o programa não compilar não adianta prosseguir. Se não compilar releia o explicado acima.
O programa compilou? Agora abra o arquivo do CEF no Winrar ou 7-zip (é normal demorar a abrir) e extraia todo o conteúdo dos diretórios “Resources” e “Release” para o mesmo diretório do exemplo que você quer rodar. Você precisa fazer isso para cada um deles que você queira rodar. Sim, os arquivos vão ficar misturados com os arquivos do projeto.
Agora execute o programa de novo. O navegador baseado em Chromium deve abrir.
Se continuar dando o erro “CEF Binaries Missing!” verifique se o código-fonte especifica onde devem ser colocados os arquivos. Por exemplo, o demo “Geolocation” faz as seguintes especificações:
1 2 3 4 5 6 |
GlobalCEFApp.FrameworkDirPath := 'cef'; GlobalCEFApp.ResourcesDirPath := 'cef'; GlobalCEFApp.LocalesDirPath := 'cef\locales'; GlobalCEFApp.cache := 'cef\cache'; GlobalCEFApp.cookies := 'cef\cookies'; GlobalCEFApp.UserDataPath := 'cef\User Data'; |
Você pode comentar essas linhas (em especial as três primeiras) ou colocar os arquivos nos diretórios certos.
Leave a Comment