Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Chromium Embedded Framework en BCB6

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Chromium Embedded Framework en BCB6 Responder citando

Hola a todos,

he estado probando el ejemplo que viene en github https://github.com/lmsp/SimpleCEFDLL


Pero el ejemplo es para C++ Builder 2009, pero he probado en Builder 6 y me da un error en la linea
Código:

(*fnCreateBrowser)(Handle, url.c_str() );


E2034 Cannot convert 'char *' to 'const wchar_t *'


Pero si la cambio por:
Código:

(*fnCreateBrowser)(Handle, static_cast<WideString>("http://www.google.es") );

no da errores, compila y ejecuta pero me sale:
raised exception class eaccessviolation with message 'Access violation at address 00000000. Read of addres...



este es el código que tengo
Código:

//---------------------------------------------------------------------------

#include <vcl>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)                               v
#pragma resource "*.dfm"
TTFormBrowser *TFormBrowser;

typedef void (*SimpleCEFDLL_Initialize)(HINSTANCE);
typedef void (*SimpleCEFDLL_CreateBrowser)(HWND,const wchar_t*);
typedef void (*SimpleCEFDLL_ResizeBrowser)(HWND);
typedef void (*SimpleCEFDLL_Shutdown)(bool);

//---------------------------------------------------------------------------
__fastcall TTFormBrowser::TTFormBrowser(TComponent* Owner)
        : TForm(Owner)
{
         HINSTANCE hDLL = LoadLibrary("SimpleCEFDLL.dll");
   SimpleCEFDLL_CreateBrowser fnCreateBrowser = (SimpleCEFDLL_CreateBrowser)GetProcAddress((HMODULE)hDLL,"SimpleCEFDLL_CreateBrowser");
   
        String url( "http://www.google.es" );
   (*fnCreateBrowser)(Handle, url.c_str() );
}


Código:

//---------------------------------------------------------------------------

#include <vcl>
#pragma hdrstop
//---------------------------------------------------------------------------
USEFORM("Unit1.cpp", TFormBrowser);
//---------------------------------------------------------------------------
typedef void (*SimpleCEFDLL_Initialize)(HINSTANCE);
typedef void (*SimpleCEFDLL_CreateBrowser)(HWND,const wchar_t*);
typedef void (*SimpleCEFDLL_ResizeBrowser)(HWND);
typedef void (*SimpleCEFDLL_Shutdown)(bool);

//---------------------------------------------------------------------------
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
        try
        {
        Application->Initialize();

        HINSTANCE hDLL = LoadLibrary("SimpleCEFDLL.dll");
        SimpleCEFDLL_Initialize fnInitialize = (SimpleCEFDLL_Initialize)GetProcAddress((HMODULE)hDLL, "SimpleCEFDLL_Initialize");
        SimpleCEFDLL_Shutdown fnShutdown = (SimpleCEFDLL_Shutdown)GetProcAddress((HMODULE)hDLL, "SimpleCEFDLL_Shutdown");


        Application->CreateForm(__classid(TTFormBrowser), &TFormBrowser);
        Application->Run();

        //(*fnShutdown)(true);
        }
        catch (Exception &exception)
        {
                 Application->ShowException(&exception);
        }
        catch (...)
        {
                 try
                 {
                         throw Exception("");
                 }
                 catch (Exception &exception)
                 {
                         Application->ShowException(&exception);
                 }
        }
        return 0;
}
//---------------------------------------------------------------------------





Muchas gracias y un saludo a todos! Wink
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Prueba con esto:
Código:

WideString url = "http://www.google.es";
fnCreateBrowser(Handle, url.c_bstr());


Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Hola de nuevo,

te agradezco tu respuesta Escafandra, pero ahora me da Access Violation 000000...

creo que no va a poder funcionar en CBC6


Un saludo!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Hola de nuevo:

los ejemplos que puse anteriormente no funcionan ya que son de MS visual C++, pero he leído sobre el componente TChromium en
https://code.google.com/archive/p/delphichromiumembedded/

Creéis que es posible instalarlo en C++Builder6?, aquí hay uno que lo ha istalado en Delphi7, https://stackoverflow.com/questions/29472653/how-to-install-delphi-chromium-embedded-in-delphi-2007

De momento me he quedado estancada en compilar el bpl con BRCC32.exe que no está, solo el BRC32.exe

Muchas gracias y un saludo a todos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Tengo un ejemplo que se ejecuta en BCB6. El problema es que el componente parece estar desactualizado, ya que el Chrome detecta la versión anterior.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Puede descargar desde el dropbox:

https://www.dropbox.com/s/99jmsdm2mqyhhxa/Chromium.zip?dl=0
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Hola Felip,

gracias por tu respuesta, pero al compilar y Build no me da errores, pero al ejecutar me sale "La ejecución del código no puede continuar porque no se encontró MSVCP100D.dll. Este problema se puede solucionar reinstalando el programa"

Un poco extraño. Esa dll es de Visual C++ por lo que tengo entendido.

Un saludo!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.