HB_WebView (a cross-platform Webview library)
Moderador: Moderadores
-
Claudio Soto
- Colaborador

- Mensagens: 566
- Registrado em: 27 Ago 2012 12:31
- Localização: Uruguay
- Contato:
HB_WebView (a cross-platform Webview library)
He desarrollado HB_WebView, un wrapper para Harbour para la biblioteca Webview.
La biblioteca Webview es una biblioteca multiplataforma escrita en C/C++ que permite crear interfaces gráficas de usuario modernas multiplataforma. El objetivo del proyecto es crear una capa de abstracción de interfaz de usuario HTML5 común para las plataformas más utilizadas. Admite enlaces bidireccionales de JavaScript (para llamar a JavaScript desde C/C++ y para llamar a C/C++ desde JavaScript).
Ahora, con HB_Webview, se puede enlazar fácilmente funciones HB/HMG/HwGUI, etc con Javascript; es decir, se puede llamar a cualquier función Harbour desde una página HTML.
Las tres primeras demostraciones están escritas en Harbour puro (demos multiplataforma), mientras que demo_hmg.prg es una integración de los ejemplos anteriores en el entorno especifico de HMG (demostración para Windows).
¡Espero que les sea útil!
Saludos cordiales,
Claudio
PD: En los archivos por lotes adjuntos, la ruta del compilador se estableció como C:\hmg.3.6\
La biblioteca Webview es una biblioteca multiplataforma escrita en C/C++ que permite crear interfaces gráficas de usuario modernas multiplataforma. El objetivo del proyecto es crear una capa de abstracción de interfaz de usuario HTML5 común para las plataformas más utilizadas. Admite enlaces bidireccionales de JavaScript (para llamar a JavaScript desde C/C++ y para llamar a C/C++ desde JavaScript).
Ahora, con HB_Webview, se puede enlazar fácilmente funciones HB/HMG/HwGUI, etc con Javascript; es decir, se puede llamar a cualquier función Harbour desde una página HTML.
Las tres primeras demostraciones están escritas en Harbour puro (demos multiplataforma), mientras que demo_hmg.prg es una integración de los ejemplos anteriores en el entorno especifico de HMG (demostración para Windows).
¡Espero que les sea útil!
Saludos cordiales,
Claudio
PD: En los archivos por lotes adjuntos, la ruta del compilador se estableció como C:\hmg.3.6\
- Anexos
-
hb_webview.rar- (3.7 MiB) Baixado 480 vezes
- Itamar M. Lins Jr.
- Administrador

- Mensagens: 7928
- Registrado em: 30 Mai 2007 11:31
- Localização: Ilheus Bahia
- Curtiu: 1 vez
HB_WebView (a cross-platform Webview library)
Olá!
Como faço para testar no Linux ? Estou usando Ubuntu.
Só achei arquivos .bat nenhum arquivo .hbp
Saudações,
Itamar M. Lins Jr.
Como faço para testar no Linux ? Estou usando Ubuntu.
Só achei arquivos .bat nenhum arquivo .hbp
Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Itamar M. Lins Jr.
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
HB_WebView (a cross-platform Webview library)
Olá Dr Claudio,
A ultima versão que tenho da HMG instalada, é a versão 3.4.3. O endereço https://www.hmgforum.com/app.php/download não é acessível no Brasil, salvo por VPN.
Como acho no SourceForge a versão mais recente? Só encontro mesmo a 3.4.3.
A ultima versão que tenho da HMG instalada, é a versão 3.4.3. O endereço https://www.hmgforum.com/app.php/download não é acessível no Brasil, salvo por VPN.
Como acho no SourceForge a versão mais recente? Só encontro mesmo a 3.4.3.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
-
Claudio Soto
- Colaborador

- Mensagens: 566
- Registrado em: 27 Ago 2012 12:31
- Localização: Uruguay
- Contato:
HB_WebView (a cross-platform Webview library)
Hola a todos!
Itamar:
Para crear la lib en Windows yo llamo en los bat directo el hbmk2 con los parámetros del hbp:
Luego copiar la lib creada a la carpeta demo
Para compilar los demos:
En Linux no se que lib tendrías que agregar, lo que seguro tendrías que sacar de los parámetros es -gtwin y de -ldflag sacar todas las lib que son específicas de Windows (ej -lshlwapi)
Jairo:
El link de donde descargar hmg.3.6 es:
https://www.hmgforum.com/viewtopic.php?t=7433
Itamar:
Para crear la lib en Windows yo llamo en los bat directo el hbmk2 con los parámetros del hbp:
Código: Selecionar todos
HBMK2 -hblib -i/. -ldflag=" -lshlwapi -pthread -static-libgcc -static-libstdc++ -Wl,-Bstatic -lstdc++ -lpthread -Wl,-Bdynamic" -mt -gtgui -gtwin -cpp -o"hb_webview" "hb_webview-lib/hb_webview.prg"Para compilar los demos:
Código: Selecionar todos
HBMK2 -i/. -ldflag=" -lshlwapi -pthread -static-libgcc -static-libstdc++ -Wl,-Bstatic -lstdc++ -lpthread -Wl,-Bdynamic" -mt -gtgui -gtwin -cpp -o"demo1" demo1.prg -w2 -es2 -lshlwapi demo.hbc
Jairo:
El link de donde descargar hmg.3.6 es:
https://www.hmgforum.com/viewtopic.php?t=7433
-
Claudio Soto
- Colaborador

- Mensagens: 566
- Registrado em: 27 Ago 2012 12:31
- Localização: Uruguay
- Contato:
HB_WebView (a cross-platform Webview library)
Aca les dejo un archivo .pdf con la documentación de HB_WebView
- Anexos
-
HB_WebView Documentation.rar- (129.83 KiB) Baixado 457 vezes
-
Claudio Soto
- Colaborador

- Mensagens: 566
- Registrado em: 27 Ago 2012 12:31
- Localização: Uruguay
- Contato:
HB_WebView (a cross-platform Webview library)
Hola a todos,
He añadido un nuevo demo4.prg y la documentación en PDF.
He añadido nuevos comentarios dentro de los demo para una mejor comprensión del código.
El demo4.prg añadido es muy interesante; permite inyectar directamente código PRG escrito completamente en Harbour desde JavaScript.
He añadido un nuevo demo4.prg y la documentación en PDF.
He añadido nuevos comentarios dentro de los demo para una mejor comprensión del código.
El demo4.prg añadido es muy interesante; permite inyectar directamente código PRG escrito completamente en Harbour desde JavaScript.
- Anexos
-
hb_webview.rar- (4.76 MiB) Baixado 442 vezes
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
HB_WebView (a cross-platform Webview library)
Fiquei curioso sobre o exemplo HMG, mas sem sucesso de compilar com mingw
d:\temp\webview\hb_webview\demos>hbmk2 demo_hmg hmg3.hbc
hbmk2: Processing environment options: -comp=mingw
hbmk2: Processing configuration: d:\harbour\bin\hbmk.hbc
Harbour 3.2.0dev (r2501210845)
Copyright (c) 1999-2024, https://harbour.github.io/
Compiling 'demo_hmg.prg'...
Lines 17671, Functions/Procedures 8
Generating C source output to 'C:\Users\joseq\AppData\Local\Temp\hbmk_azql18.dir\demo_hmg.c'... Done.
In file included from demo_hmg.prg:428:
d:/temp/webview/hb_webview/WebView2/WebView2.h:19: warning: ignoring '#pragma warning ' [-Wunknown-pragmas]
19 | #pragma warning( disable: 4049 ) /* more than 64k source lines */
In file included from demo_hmg.prg:422:
demo_hmg.prg: In function 'HB_FUN_ACTION_WEBVIEW2':
d:/github/hmg3/include/HMG_UNICODE.h:108:37: error: passing argument 1 of 'hb_retc' from incompatible pointer type [-Wincompatible-pointer-types]
108 | #define HMG_WCHAR_TO_CHAR(c) (c)
| ^~~
| |
| WCHAR * {aka short unsigned int *}
demo_hmg.prg:517:19: note: in expansion of macro 'HMG_WCHAR_TO_CHAR'
In file included from demo_hmg.prg:424:
d:/harbour/include/hbapi.h:687:47: note: expected 'const char *' but argument is of type 'WCHAR *' {aka 'short unsigned int *'}
687 | extern HB_EXPORT void hb_retc( const char * szText ); /* returns a string */
| ~~~~~~~~~~~~~^~~~~~
demo_hmg.prg: In function 'HB_FUN_GETVERSION_WEBVIEW2':
d:/github/hmg3/include/HMG_UNICODE.h:108:37: error: passing argument 1 of 'hb_retc' from incompatible pointer type [-Wincompatible-pointer-types]
108 | #define HMG_WCHAR_TO_CHAR(c) (c)
| ^~~
| |
| WCHAR * {aka short unsigned int *}
demo_hmg.prg:563:13: note: in expansion of macro 'HMG_WCHAR_TO_CHAR'
d:/harbour/include/hbapi.h:687:47: note: expected 'const char *' but argument is of type 'WCHAR *' {aka 'short unsigned int *'}
687 | extern HB_EXPORT void hb_retc( const char * szText ); /* returns a string */
| ~~~~~~~~~~~~~^~~~~~
hbmk2: Error: Running C/C++ compiler. 1
gcc.exe -c -O3 -march=i586 -mtune=pentiumpro -fomit-frame-pointer -W -Wall -pipe -Id:/harbour/include -Id:/fontes/util/build -Id:/temp/webview/hb_webview/demos -Id:/github/hmg3/include C:/Users/joseq/AppData/Local/Temp/hbmk_azql18.dir/demo_hmg.c C:/Users/joseq/AppData/Local/Temp/hbmk_qav1uz.c
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
HB_WebView (a cross-platform Webview library)
Depois testar com mais calma.
Tentei gerar a LIB, mas parece estar usando paths do github.
Estranhei ainda estar usando versão do mingw que necessita xxxthread.dll
Tentei gerar a LIB, mas parece estar usando paths do github.
Estranhei ainda estar usando versão do mingw que necessita xxxthread.dll
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
Claudio Soto
- Colaborador

- Mensagens: 566
- Registrado em: 27 Ago 2012 12:31
- Localização: Uruguay
- Contato:
HB_WebView (a cross-platform Webview library)
Hola Jose,
los bat estan ajustados para compilar con la version 3.6 de HMG, que esta compilada en 64 bits y en Unicode.
Ademas los demos necesitan ser compilados en c++ (-cpp) porque la lib webview esta escrita en c++
El build64.bat de HMG 3.6 llama al hbmk2 asi:
Para compilar el demo de hmg llamo asi:
Para generar la lib llamo directo al hbmk2 asi:
los bat estan ajustados para compilar con la version 3.6 de HMG, que esta compilada en 64 bits y en Unicode.
Ademas los demos necesitan ser compilados en c++ (-cpp) porque la lib webview esta escrita en c++
El build64.bat de HMG 3.6 llama al hbmk2 asi:
Código: Selecionar todos
SET PATH=%HMGPATH%harbour64\bin;%HMGPATH%mingw64\bin;%PATH%
SET gtdrivers=-gtgui -gtwin
SET debug=
echo #define HMGRPATH %HmgPath%\RESOURCES > _hmg_resconfig.h
COPY /b %HMGPATH%\resources\hmg64.rc+"%~n1.rc"+%HMGPATH%\resources\filler _temp.rc >NUL
windres -i _temp.rc -o _temp.o >windres.log 2>&1
HBMK2 -ldflag="-pthread -static-libgcc -static-libstdc++ -static -lpthread" -mt -o"%~n1" %HMGPATH%\hmg64.hbc %gtdrivers% %debug% -q %1 %2 %3 %4 %5 %6 %7 %8 >hbmk.log 2>&1
Código: Selecionar todos
call C:\hmg.3.6\build64.bat demo_hmg.prg -w2 -es2 -cpp -lshlwapi demo.hbc
Código: Selecionar todos
SET myPATH=C:\hmg.3.6\
SET PATH=%myPATH%harbour64\bin;%myPATH%mingw64\bin;%libPATH%;%PATH%
HBMK2 -hblib -i/. -cpp -o"hb_webview" "hb_webview-lib/hb_webview.prg"
copy /y libhb_webview.a demos\libhb_webview.a
-
Claudio Soto
- Colaborador

- Mensagens: 566
- Registrado em: 27 Ago 2012 12:31
- Localização: Uruguay
- Contato:
HB_WebView (a cross-platform Webview library)
Jose,
con este bat compilas el demo hmg directo con hbmk2
El error de compilacion anterior que te dio es porque falta incluir el path a los include de HMG.
que equivale a:
con este bat compilas el demo hmg directo con hbmk2
Código: Selecionar todos
SET myPATH=C:\hmg.3.6\
SET PATH=%myPATH%harbour64\bin;%myPATH%mingw64\bin;%myPATH%include;%PATH%
HBMK2 -ldflag="-pthread -static-libgcc -static-libstdc++ -static -lpthread" -mt %myPATH%hmg64.hbc -gtgui -gtwin -q -o"demo_hmg" demo_hmg.prg -w2 -es2 -cpp -lshlwapi demo.hbc
demo_hmg
pauseCódigo: Selecionar todos
%myPATH%include;que equivale a:
Código: Selecionar todos
C:\hmg.3.6\include- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
HB_WebView (a cross-platform Webview library)
Tenho HMG 3.5, que modifiquei pra facilitar.
hbmk2 arquivo.prg hmg3.hbc
Vou acrescentar o -cpp
E olhar o demo.hbc, que entraria automático se fosse hbmk.hbc
hbmk2 arquivo.prg hmg3.hbc
Vou acrescentar o -cpp
E olhar o demo.hbc, que entraria automático se fosse hbmk.hbc
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
Claudio Soto
- Colaborador

- Mensagens: 566
- Registrado em: 27 Ago 2012 12:31
- Localização: Uruguay
- Contato:
HB_WebView (a cross-platform Webview library)
Hola a todos:
He añadido una nueva demo (demo5.prg), una consulta SQLite cuyos resultados se muestran en una tabla HTML.
Descargar código fuente en: https://www.hmgforum.com/viewtopic.php?t=7659
He añadido una nueva demo (demo5.prg), una consulta SQLite cuyos resultados se muestran en una tabla HTML.
Descargar código fuente en: https://www.hmgforum.com/viewtopic.php?t=7659
- JoséQuintas
- Administrador

- Mensagens: 20267
- Registrado em: 26 Fev 2007 11:59
- Localização: São Paulo-SP
HB_WebView (a cross-platform Webview library)
hmgforum está bloqueado para o Brasil, só dá pra acessar por proxy.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"
https://github.com/JoseQuintas/
-
Claudio Soto
- Colaborador

- Mensagens: 566
- Registrado em: 27 Ago 2012 12:31
- Localização: Uruguay
- Contato:
-
Claudio Soto
- Colaborador

- Mensagens: 566
- Registrado em: 27 Ago 2012 12:31
- Localização: Uruguay
- Contato:
HB_WebView (a cross-platform Webview library)
Hola a todos,
He añadido una nueva demo.
demo6.prg: Permite navegar por el árbol de directorios y abrir archivos de la lista de extensiones permitidas (las nuevas instancias de HB_WebView se crean completamente desde código Javascript).
Descargar de:
https://drive.google.com/open?id=1gCRK_ ... p=drive_fs
Saludos cordiales,
Claudio
PS:
Demos written in pure Harbor (cross-platform demos):
demo1.prg - Web browsing in Harbour
demo2.prg - Binding Harbour functions (calling HB functions from Javascript)
demo3.prg - Inspecting DBF files with Javascript
demo4.prg - Injecting PRG code written entirely in Harbour from JavaScript
demo5.prg - Querying SQLite from Javascript
demo6.prg: You can navigate the directory tree and open files that are in the list of allowed extensions (new instances of HB_WebView are created entirely from Javascript code).
Demos in HMG:
demo hmg.prg - is an integration of the previous examples integrated into the HMG environment (Windows platform demo)
See documentation in HB_WebView.pdf file.
He añadido una nueva demo.
demo6.prg: Permite navegar por el árbol de directorios y abrir archivos de la lista de extensiones permitidas (las nuevas instancias de HB_WebView se crean completamente desde código Javascript).
Descargar de:
https://drive.google.com/open?id=1gCRK_ ... p=drive_fs
Saludos cordiales,
Claudio
PS:
Demos written in pure Harbor (cross-platform demos):
demo1.prg - Web browsing in Harbour
demo2.prg - Binding Harbour functions (calling HB functions from Javascript)
demo3.prg - Inspecting DBF files with Javascript
demo4.prg - Injecting PRG code written entirely in Harbour from JavaScript
demo5.prg - Querying SQLite from Javascript
demo6.prg: You can navigate the directory tree and open files that are in the list of allowed extensions (new instances of HB_WebView are created entirely from Javascript code).
Demos in HMG:
demo hmg.prg - is an integration of the previous examples integrated into the HMG environment (Windows platform demo)
See documentation in HB_WebView.pdf file.