Logo SatellaSoft



Criando um navegador avançado usando Gecko - Parte 2

Aqui vamos importar as referências, adicionar arquivos à pasta e adicionar o Browser no Formulário.


Ícone homem Gunnar Correa
Ícone data de publicação 15/03/2015
Ícone quantidade de visualização 2,685
Ícone bandeira do Brasil Português

Dando continuidade na matéria anterior, quando configuramos nosso formulário. Aqui vamos adicionar o motor em nosso formulário, para isto será necessário adicionar referências e copiar alguns arquivos a pasta do projeto.

Se você não fez Download dos arquivos da matéria passada, recomendo que faça, pois não há como continuar esta matéria sem eles, já que o motor e as DLLs que vamos precisar está no Download disponibilizado.



Abra o projeto do navegador, caso não esteja com o mesmo aberto, no Solution Explorer, clique com o botão direito do Mouse em cima de References, em seguida clique em Add Reference.

 

Na janela seguinte deverá abrir o Reference Manager, clique no botão Browser, nos arquivos que você fez o Download, contém uma pasta chamada Skybound, dentro dela Bin e por fim, dentro de Bin temos Skybound.Gecko.dll, selecione este arquivo e clique em ADD e por último em OK.

Esta é a DLL que precisamos para utilizar o motor, mas suas funcionalidades estão na pasta xulrunner, que será configurado posteriormente.

 

Um alerta deve aparecer no Error List, isto acontece por que o computador na qual está sendo desenvolvido, usa arquitetura X64 e a DLL foi compilada em X86.

Para solucionar este problema, vamos alterar o Build do nosso projeto para X86, para isto clique com o botão direito do Mouse sobre o nome do nosso projeto no Solution Explorer, em seguida em Properties, ou pressione ALT+ENTER.

Clique na Opção Build no menu à esquerda, em frente ao texto Plataform target, há um campo de seleção, selecione X86, com isto o alerta irá sumir do Error List e você já pode fechar a respectiva aba.

Devemos copiar a pasta xulrunner que está junto ao arquivo que você fez o Download para dentro da pasta Bin/Debug do nosso projeto.

Por padrão o projeto fica dentro de Meus Documentos, Visual Studio 2013, Projects, agora você deve procurar pelo nome do nosso projeto, que foi definido Bluefox_Browser, dentro dela temos Bin/Debug.

Você pode clicar com o botão direito do Mouse sobre o nome do nosso projeto no Solution Explorer em seguida clicar em Open Folder in File Explorer, que será aberto a pasta na qual nosso projeto se encontra.

Copie a pasta xulrunner para dentro de Debug.

Como já cliquei no botão Start para rodar a aplicação, a DLL foi inserida a pasta principal do nosso projeto, caso o seu modelo não tenha inserido a DLL, não há problemas, basta clicar em Start em seguida fechar a Janela, não vamos precisar dela por hora.

Vamos criar uma classe, para isto clique com o botão direito do Mouse em cima do nome do nosso projeto em Solution Explorer, Add em seguida Class.

Em Name, insta GeckoBrowser.cs e clique no botão Add.

A partir de agora começamos a trabalhar com programação, devemos fazer referência ao Gecko em nossa classe, para isto adicione using Skybound.Gecko;, logo à frente do nome da nossa classe, insira, : GeckoWebBrowser, com isto vamos entender a classe GeckoWebBrower.

Código 01:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Skybound.Gecko;

namespace Bluefox_Browser
{
    class GeckoBrowser : GeckoWebBrowser
    {
    }
}

Agora devemos compilar nosso projeto, para isto clique no menu BUILD em seguida Build Solution.

Se você efetuou corretamente todos os procedimentos acima, um componente chamado GeckoBrowser  está visível no Toolbox.

Clique no componente e arraste para o Formulário, para adicionarmos o componente ao nosso formulário.

Se tentarmos executar nosso projeto, vamos receber uma mensagem de erro, isto devido aos arquivos necessários para o funcionamento do motor, não estarem inicializado. Para resolver este problema, de um duplo clique no formulário, localize o método construtor, deverá se chamar frmBluefox, logo abaixo de InitializeComponent (), insira o código abaixo, e para finalizar adicione a using Skybound.Gecko;.

Código 02:

 public frmBluefox()
{
            InitializeComponent();
            Xpcom.Initialize(Environment.CurrentDirectory + "/xulrunner");
 }

Método frmBluefox_Load(), vamos adicionar uma página para ser carregada quando o projeto for executado, este código deverá ser deletado posteriormente, só será utilizado para verificar se está tudo certo.

Código 03:

private void frmBluefox_Load(object sender, EventArgs e)
{
	geckoBrowser1.Navigate("http://www.google.com");
}

Agora o código completo da nossa Classe, a sua deve seguir o mesmo padrão, se você seguiu os mesmos nomes atribuídos aqui.

Código 04:

using Skybound.Gecko;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace Bluefox_Browser
{
    public partial class frmBluefox : Form
    {
        public frmBluefox()
        {
            InitializeComponent();
            Xpcom.Initialize(Environment.CurrentDirectory + "/xulrunner");
        }

        private void frmBluefox_Load(object sender, EventArgs e)
        {
            geckoBrowser1.Navigate("http://www.google.com");
        }
    }
}

Clique no botão Start para rodar seu projeto, caso a página do Google seja carregada, tudo funcionou corretamente, mas é claro que para isto necessita estar conectado à internet, caso contrário a página do Google não será carregada.

 

Na próxima matéria vamos preparar os componentes no formulário.





Sobre o autor


Gunnar Correa

Nome: Gunnar Correa

Site: http://www.gunnarcorrea.com


Autodidata, graduado em Desenvolvimento Web e especialista em Tecnologias na Educação em uma universidade no interior de São Paulo. Comecei meus estudos na área de programação quando ainda era criança, e atualmente estou estudando desenvolvimento de jogos.

Sou o CEO do portal SatellaSoft, criado em 2009 com o intuito de compartilhar conhecimento de forma gratuita e inédita.


Comentários



É necessário estar autenticado para comentar, clique aqui para se registrar ou aqui para acessar a sua conta!