Page 5 of 7
Re: Using WebView with Borland !!!
Posted: Wed Feb 16, 2022 11:32 am
by cmsoft
Antonio
No he sido capaz de crear la lib para Borland
Cuando corro:
impdef.exe webview.def webview.dll
Me genera esto:
Code: Select all | Expand
LIBRARY WEBVIEW.DLL
EXPORTS
webview_bind @1 ; webview_bind
webview_create @2 ; webview_create
webview_destroy @3 ; webview_destroy
webview_dispatch @4 ; webview_dispatch
webview_eval @5 ; webview_eval
webview_get_window @6 ; webview_get_window
webview_init @7 ; webview_init
webview_navigate @8 ; webview_navigate
webview_return @9 ; webview_return
webview_run @10 ; webview_run
webview_set_size @11 ; webview_set_size
webview_set_title @12 ; webview_set_title
webview_terminate @13 ; webview_terminate
Y lo corrijo asi:
Code: Select all | Expand
LIBRARY WEBVIEW.DLL
EXPORTS
_webview_bind @1 ; webview_bind
_webview_create @2 ; webview_create
_webview_destroy @3 ; webview_destroy
_webview_dispatch @4 ; webview_dispatch
_webview_eval @5 ; webview_eval
_webview_get_window @6 ; webview_get_window
_webview_init @7 ; webview_init
_webview_navigate @8 ; webview_navigate
_webview_return @9 ; webview_return
_webview_run @10 ; webview_run
_webview_set_size @11 ; webview_set_size
_webview_set_title @12 ; webview_set_title
_webview_terminate @13 ; webview_terminate
Y cuando corro despues:
impdef.exe webview.lib webview.def
Me tira este mensaje:
Code: Select all | Expand
Embarcadero Impdef Version 3.3.0 Copyright (c) 1991-2014 Embarcadero Technologies, Inc.
Error webview.def: unknown file type
Estoy haciendo algo mal?
Desde ya muchas gracias.
Re: Using WebView with Borland !!!
Posted: Wed Feb 16, 2022 12:23 pm
by Antonio Linares
César,
la segunda llamada es:
implib.exe webview.lib webview.def
estas llamando a impdef.exe nuevamente

Re: Using WebView with Borland !!!
Posted: Wed Feb 16, 2022 1:49 pm
by cmsoft
Excelente!!
Otra consulta, como se define la funcion webview_get_window para borland?
Re: Using WebView with Borland !!!
Posted: Wed Feb 16, 2022 3:08 pm
by Antonio Linares
Enhanced version and important fixed bug thanks to Cristobal: We had a missing @ here:
DLL FUNCTION WEBVIEW_CREATE( nDebug AS LONG, @hWndParent AS LONG ) AS LONG PASCAL FROM "webview_create" LIB hDLL
You can use DEFINE WINDOW or DEFINE DIALOG as you may need, or simply place it on a panel control.
webview.prg
Code: Select all | Expand
#include "FiveWin.ch"
#define SW_HIDE 0
#define SW_SHOW 5
#define GWL_STYLE -16
static hDLL, s_nCalls, s_cJsonResult
function Main()
local oWnd
hDLL = LoadLibrary( "webview.dll" )
DEFINE DIALOG oWnd TITLE "FWH desktop app" SIZE 1000, 600
ACTIVATE DIALOG oWnd ;
ON INIT CreateWebView( oWnd ) CENTER
FreeLibrary( hDLL )
return nil
function CreateWebView( oWnd )
local hWebView := WebView_Create( 0, oWnd:hWnd )
local hWnd := WebView_Get_Window( hWebView )
WebView_Set_Size( hWebView, 770, 470, 0 )
oWnd:SetSize( 1000, 600 )
WebView_Navigate( hWebView, "file:///c:/soporte/Ramon/test.html" )
WebView_Bind( hWebView, "SendToFWH", SendToFWHAddress(), hWebView )
return nil
function WebView_SaveValues( cCalls, cJsonResult )
s_nCalls = Val( cCalls )
s_cJsonResult = cJsonResult
MsgInfo( hb_ValToExp( s_cJsonResult ), s_nCalls )
return nil
DLL FUNCTION WEBVIEW_CREATE( nDebug AS LONG, @hWndParent AS LONG ) AS LONG PASCAL FROM "webview_create" LIB hDLL
DLL FUNCTION WEBVIEW_RUN( hWebView AS LONG ) AS VOID PASCAL FROM "webview_run" LIB hDLL
DLL FUNCTION WEBVIEW_NAVIGATE( hWebView AS LONG, cUrl AS LPSTR ) AS VOID PASCAL FROM "webview_navigate" LIB hDLL
DLL FUNCTION WEBVIEW_DESTROY( hWebView AS LONG ) AS VOID PASCAL FROM "webview_destroy" LIB hDLL
DLL FUNCTION WEBVIEW_BIND( hWebView AS LONG, cName AS LPSTR, pFunc AS LONG, pVoid AS LONG ) AS VOID PASCAL FROM "webview_bind" LIB hDLL
DLL FUNCTION WEBVIEW_EVAL( hWebView AS LONG, cJavaScript AS LPSTR ) AS VOID PASCAL FROM "webview_eval" LIB hDLL
DLL FUNCTION WEBVIEW_GET_WINDOW( hWebView AS LONG ) AS LONG PASCAL FROM "webview_get_window" LIB hDLL
#define WEBVIEW_HINT_NONE 0 // Width and height are default size
#define WEBVIEW_HINT_MIN 1 // Width and height are minimum bounds
#define WEBVIEW_HINT_MAX 2 // Width and height are maximum bounds
#define WEBVIEW_HINT_FIXED 3 // Window size can not be changed by a user
DLL FUNCTION WEBVIEW_SET_SIZE( hWebView AS LONG, nWidth AS LONG, nHeight AS LONG, nHint AS LONG ) AS VOID PASCAL FROM "webview_set_size" LIB hDLL
DLL FUNCTION WEBVIEW_SET_TITLE( hWebView AS LONG, cTitle AS LPSTR ) AS VOID PASCAL FROM "webview_set_title" LIB hDLL
#pragma BEGINDUMP
#include <hbapi.h>
#include <windows.h>
#include <hbvm.h>
static void SendToFWH( const char * szNumRequests, const char * szJson, void * p )
{
hb_vmPushSymbol( hb_dynsymGetSymbol( "WEBVIEW_SAVEVALUES" ) );
hb_vmPushNil();
hb_vmPushString( szNumRequests, strlen( szNumRequests ) );
hb_vmPushString( szJson, strlen( szJson ) );
hb_vmFunction( 2 );
}
HB_FUNC( SENDTOFWHADDRESS )
{
hb_retnl( ( HB_LONG ) SendToFWH );
}
#pragma ENDDUMP
Re: Using WebView with Borland !!!
Posted: Wed Feb 16, 2022 4:59 pm
by Silvio.Falconi
Antonio, Anserkk
On Windows 10 Code: Select all | Expand
Edizione Windows 10 Pro
Versione 20H2
Data installazione: 01/11/2021
Build sistema operativo 19042.1348
Esperienza Windows Feature Experience Pack 120.2212.3920.0
1) I downloaded first this instal exe from
https://developer.microsoft.com/en-us/m ... /webview2/ as wrote from Anserkk
2) I create the webview.lib from webview.dll with this configuration
Code: Select all | Expand
LIBRARY WEBVIEW.DLL
EXPORTS
_webview_bind @1 ; webview_bind
_webview_create @2 ; webview_create
_webview_destroy @3 ; webview_destroy
_webview_dispatch @4 ; webview_dispatch
_webview_eval @5 ; webview_eval
_webview_get_window @6 ; webview_get_window
_webview_init @7 ; webview_init
_webview_navigate @8 ; webview_navigate
_webview_return @9 ; webview_return
_webview_run @10 ; webview_run
_webview_set_size @11 ; webview_set_size
_webview_set_title @12 ; webview_set_title
_webview_terminate @13 ; webview_terminate
I tried the sample of Antonio ramon.prg
http://fivetechsupport.com/forums/viewtopic.php?p=248110&sid=65fe9ba9c00a26a586f10b5636b63fc3#p2481103) After compiled the test the procedure open a window and
then crashed I have this error
hb_out.logCode: Select all | Expand
Application Internal Error - C:\Work\Errori\WebView\ramon\ramon.Exe
Terminated at: 2022-02-16 17:46:54
Unrecoverable error 6005: Exception error:
Exception Code:C0000005 ACCESS_VIOLATION
Exception Address:5B0EDCC9
EAX:00000000 EBX:00919B48 ECX:00000000 EDX:00916560
ESI:5B16B56C EDI:00000000 EBP:0019F184
CS:EIP:0023:5B0EDCC9 SS:ESP:002B:0019F17C
DS:002B ES:002B FS:0053 GS:002B
Flags:00010212
Exception Parameters: 00000000 00000000
CS:EIP: 8B 08 8B 51 0C 89 55 F8 83 7D 08 00 74 0B 8B 45
SS:ESP: 3B001548 3B0A8120 0019F1A8 5E5C1D2C 00916560 80010106 00000000 00000000 B33AFC51 80010106 00000000 0019F1DC 5AE591CE 00919B48 80010106 00000000
C stack:
EIP: EBP: Frame: OldEBP, RetAddr, Params...
5B0EDCC9 0019F184 0019F1A8 5E5C1D2C 00916560 80010106 00000000 00000000 B33AFC51 80010106 00000000
5E5C1D2C 0019F1A8 0019F1DC 5AE591CE 00919B48 80010106 00000000 3B0A8120 00000029 80000030 00000000 3538BFCA
5AE591CE 0019F1DC 0019F234 5AE590E2 00000000 0091FBB8 00000000 00919B48 5B042684 00000030 3B040300 00000033
5AE590E2 0019F234 0019F270 5AE0DBF3 00000000 0091FBB8 00000000 00919B48 00000000 3B0A80C0 00000029 80000030
5AE0DBF3 0019F270 0019F294 5E5C265D 00000001 00000000 0091FBB8 00000000 00919B48 0091FBB8 00000000
5E5C265D 0019F294 0019F2D0 5E5C1343 00907988 00000001 00000000 0091FBB8 00000000 00919B48 0000006E 0000006E
5E5C1343 0019F2D0 0019F2F4 5E5C1D0A 00000000 00000000 00919B48 3B0A80C0 B33AFF0D 80010106 00000000
5E5C1D0A 0019F2F4 0019F328 5AE591CE 00919B48 80010106 00000000 3B0A80C0 00000029 80000030 00000000 3538BD3E
5AE591CE 0019F328 0019F380 5AE590E2 00000000 0091FBB8 00000000 00919B48 5B042684 00000030 0019F364 3B040240
5AE590E2 0019F380 0019F3BC 5AE0DBF3 00000000 0091FBB8 00000000 00919B48 00000000 3B0A8060 00000029 80000030
5AE0DBF3 0019F3BC 0019F3E0 5E5C265D 00000001 00000000 0091FBB8 00000000 00919B48 0091FBB8 00000000
5E5C265D 0019F3E0 0019F41C 5E5C1343 0091FED0 00000001 00000000 0091FBB8 00000000 00919B48 0000006E 0000006E
5E5C1343 0019F41C 0019F490 5E5C129C 00000000 00000000 00919B48 00000000 5B0F0B56 0019F588 0019F454 00000000
5E5C129C 0019F490 0019F6E4 5B0F3588 00000000 0091FBB8 00000000 00916560 5CC2C30F 0019F6F4 0090B4D0 0019F518
5B0F3588 0019F6E4 0019F7D4 5B0E995F 000C05F4 00000000 5B16BCA0 5B0EB87C 0019F708 0091A118 0019F7D4 5B0E990B
5B0E995F 0019F7D4 0019F7F8 5B0E96D7 00000000 00000000 5CC2C213 0091A118 0019FF60 5B12F0DD FFFFFFFF
5B0E96D7 0019F7F8 0019F81C 5B0E1090 00000000 00000000 0000000B 00000000 00000000 0091A118 00836F04
5B0E1090 0019F81C 0019F834 00458021 00000000 00000000 00000000 005A7240
00458021 0019F834 0019F85C 004E3714 005A754C 00000000 00837FAC 00000026 00000000 025F775C 00000000 00000000
004E3714 0019F85C 0019F97C 004DD4C6 00000003 00000000 00000000 005A70F0 004FB3D3 02620A2C 0019F894 004FEAFA
Modules:
00400000 0046C000 C:\Work\Errori\WebView\ramon\ramon.Exe
77190000 001A3000 C:\WINDOWS\SYSTEM32\ntdll.dll
76710000 000F0000 C:\WINDOWS\System32\KERNEL32.DLL
75290000 00214000 C:\WINDOWS\System32\KERNELBASE.dll
76E00000 0007A000 C:\WINDOWS\System32\ADVAPI32.DLL
76A30000 000BF000 C:\WINDOWS\System32\msvcrt.dll
76690000 00075000 C:\WINDOWS\System32\sechost.dll
762F0000 000BF000 C:\WINDOWS\System32\RPCRT4.dll
75E00000 000AF000 C:\WINDOWS\System32\COMDLG32.DLL
75510000 00281000 C:\WINDOWS\System32\combase.dll
76BF0000 00120000 C:\WINDOWS\System32\ucrtbase.dll
74810000 00019000 C:\WINDOWS\SYSTEM32\MPR.DLL
74870000 00008000 C:\WINDOWS\SYSTEM32\VERSION.DLL
769A0000 00087000 C:\WINDOWS\System32\shcore.dll
732F0000 0008D000 C:\WINDOWS\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.19041.1110_none_c0da534e38c01f4d\COMCTL32.DLL
74080000 00072000 C:\WINDOWS\SYSTEM32\WINSPOOL.DRV
76800000 001A0000 C:\WINDOWS\System32\USER32.dll
754D0000 00024000 C:\WINDOWS\System32\GDI32.dll
76BD0000 00018000 C:\WINDOWS\System32\win32u.dll
75120000 000DC000 C:\WINDOWS\System32\gdi32full.dll
77030000 00045000 C:\WINDOWS\System32\SHLWAPI.dll
76500000 0007B000 C:\WINDOWS\System32\msvcp_win.dll
757A0000 005B3000 C:\WINDOWS\System32\SHELL32.dll
763B0000 000E3000 C:\WINDOWS\System32\OLE32.DLL
75D60000 00096000 C:\WINDOWS\System32\OLEAUT32.DLL
73380000 00006000 C:\WINDOWS\SYSTEM32\MSIMG32.DLL
73260000 00028000 C:\WINDOWS\SYSTEM32\WINMM.DLL
61240000 0002C000 C:\WINDOWS\SYSTEM32\OLEDLG.DLL
730F0000 00169000 C:\WINDOWS\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.19041.1348_none_d94f9953e1060d01\GDIPLUS.DLL
77000000 00025000 C:\WINDOWS\System32\IMM32.DLL
72F70000 00074000 C:\WINDOWS\system32\uxtheme.dll
5B0E0000 000AB000 C:\Work\Errori\WebView\ramon\webview.dll
5E5C0000 00020000 C:\Work\Errori\WebView\ramon\WebView2Loader.dll
76AF0000 000D3000 C:\WINDOWS\System32\MSCTF.dll
74620000 0000F000 C:\WINDOWS\SYSTEM32\kernel.appcore.dll
750C0000 0005F000 C:\WINDOWS\System32\bcryptPrimitives.dll
63EE0000 000B9000 C:\WINDOWS\SYSTEM32\textinputframework.dll
61110000 0009B000 C:\WINDOWS\System32\CoreMessaging.dll
60E90000 0027E000 C:\WINDOWS\System32\CoreUIComponents.dll
75050000 00063000 C:\WINDOWS\System32\WS2_32.dll
60DB0000 000DB000 C:\WINDOWS\SYSTEM32\wintypes.dll
735D0000 00029000 C:\WINDOWS\SYSTEM32\ntmarta.dll
73290000 00053000 C:\WINDOWS\system32\Oleacc.dll
5ADE0000 002F1000 C:\Program Files (x86)\Microsoft\EdgeWebView\Application\98.0.1108.50\EBWebView\x86\EmbeddedBrowserWebView.dll
72E50000 0000A000 C:\WINDOWS\SYSTEM32\CRYPTBASE.DLL
Called from FWCALLDLL(0)
Called from WEBVIEW_CREATE(56) in ramon.prg
Called from CREATEWEBVIEW(26) in ramon.prg
Called from (b)MAIN(18) in ramon.prg
Called from TWINDOW:ACTIVATE(1083) in .\source\classes\WINDOW.PRG
Called from MAIN(18) in ramon.prg
------------------------------------------------------------------------
So it not run also on Windows 10
I tried also the last sample of Antonio , crashed !!!
I Insert the same file on "file:///c:/soporte/Ramon/test.html
Code: Select all | Expand
pplication Internal Error - C:\Work\Errori\WebView\sample\webview.Exe
Terminated at: 2022-02-16 18:01:29
Unrecoverable error 6005: Exception error:
Exception Code:C0000005 ACCESS_VIOLATION
Exception Address:65C4DCC9
EAX:00000000 EBX:00A891E8 ECX:00000000 EDX:00A9E410
ESI:65CCB56C EDI:00000000 EBP:0019EA04
CS:EIP:0023:65C4DCC9 SS:ESP:002B:0019E9FC
DS:002B ES:002B FS:0053 GS:002B
Flags:00010216
Exception Parameters: 00000000 00000000
CS:EIP: 8B 08 8B 51 0C 89 55 F8 83 7D 08 00 74 0B 8B 45
SS:ESP: 23001548 230A8120 0019EA28 72C31D2C 00A9E410 80010106 00000000 00000000 F4252824 80010106 00000000 0019EA5C 5DC891CE 00A891E8 80010106 00000000
C stack:
EIP: EBP: Frame: OldEBP, RetAddr, Params...
65C4DCC9 0019EA04 0019EA28 72C31D2C 00A9E410 80010106 00000000 00000000 F4252824 80010106 00000000
72C31D2C 0019EA28 0019EA5C 5DC891CE 00A891E8 80010106 00000000 230A8120 0000002B 80000030 00000000 064355D9
5DC891CE 0019EA5C 0019EAB4 5DC890E2 00000000 00A98600 00000000 00A891E8 5DE72684 00000030 2303C300 00000035
5DC890E2 0019EAB4 0019EAF0 5DC3DBF3 00000000 00A98600 00000000 00A891E8 00000000 230A80C0 0000002B 80000030
5DC3DBF3 0019EAF0 0019EB14 72C3265D 00000001 00000000 00A98600 00000000 00A891E8 00A98600 00000000
72C3265D 0019EB14 0019EB50 72C31343 00AA8AE8 00000001 00000000 00A98600 00000000 00A891E8 0000006E 0000006E
72C31343 0019EB50 0019EB74 72C31D0A 00000000 00000000 00A891E8 230A80C0 F4252978 80010106 00000000
72C31D0A 0019EB74 0019EBA8 5DC891CE 00A891E8 80010106 00000000 230A80C0 0000002B 80000030 00000000 0643542D
5DC891CE 0019EBA8 0019EC00 5DC890E2 00000000 00A98600 00000000 00A891E8 5DE72684 00000030 0019EBE4 2303C240
5DC890E2 0019EC00 0019EC3C 5DC3DBF3 00000000 00A98600 00000000 00A891E8 00000000 230A8060 0000002B 80000030
5DC3DBF3 0019EC3C 0019EC60 72C3265D 00000001 00000000 00A98600 00000000 00A891E8 00A98600 00000000
72C3265D 0019EC60 0019EC9C 72C31343 00AA6250 00000001 00000000 00A98600 00000000 00A891E8 0000006E 0000006E
72C31343 0019EC9C 0019ED0C 72C3129C 00000000 00000000 00A891E8 65C50B56 0019EE04 0019ECD0 65C51528 00000000
72C3129C 0019ED0C 0019EF60 65C53588 00000000 00A98600 00000000 00A9E410 6168CF1B 0019EF70 00A85058 0019ED94
65C53588 0019EF60 0019F050 65C4995F 001606C4 00000000 65CCBCA0 65C4B87C 0019F030 00A894E8 0019F050 65C4990B
65C4995F 0019F050 0019F074 65C496D7 00000000 00836D9C 6168D00F 00A894E8 0019F858 65C8F0DD FFFFFFFF
65C496D7 0019F074 0019F098 65C41090 00000000 00836D9C 004FF0BC 00836D9C 0019F09C 00A894E8 00836D80
65C41090 0019F098 0019F0B0 00458021 00000000 00836D9C 00000000 005A71A0
00458021 0019F0B0 0019F0D8 004E3714 005A7435 00000000 00837E28 00000034 00000000 00E4773C 00000000 00000000
004E3714 0019F0D8 0019F1F8 004DD4C6 00000003 00000000 00000000 005A70B0 013AAD40 00000000 0000000C 00000000
Modules:
00400000 0046C000 C:\Work\Errori\WebView\sample\webview.Exe
77190000 001A3000 C:\WINDOWS\SYSTEM32\ntdll.dll
76710000 000F0000 C:\WINDOWS\System32\KERNEL32.DLL
75290000 00214000 C:\WINDOWS\System32\KERNELBASE.dll
73530000 0009F000 C:\WINDOWS\SYSTEM32\apphelp.dll
76E00000 0007A000 C:\WINDOWS\System32\ADVAPI32.DLL
76A30000 000BF000 C:\WINDOWS\System32\msvcrt.dll
76690000 00075000 C:\WINDOWS\System32\sechost.dll
762F0000 000BF000 C:\WINDOWS\System32\RPCRT4.dll
75E00000 000AF000 C:\WINDOWS\System32\COMDLG32.DLL
75510000 00281000 C:\WINDOWS\System32\combase.dll
76BF0000 00120000 C:\WINDOWS\System32\ucrtbase.dll
769A0000 00087000 C:\WINDOWS\System32\shcore.dll
74870000 00008000 C:\WINDOWS\SYSTEM32\VERSION.DLL
74810000 00019000 C:\WINDOWS\SYSTEM32\MPR.DLL
76800000 001A0000 C:\WINDOWS\System32\USER32.dll
76BD0000 00018000 C:\WINDOWS\System32\win32u.dll
754D0000 00024000 C:\WINDOWS\System32\GDI32.dll
75120000 000DC000 C:\WINDOWS\System32\gdi32full.dll
76500000 0007B000 C:\WINDOWS\System32\msvcp_win.dll
77030000 00045000 C:\WINDOWS\System32\SHLWAPI.dll
732F0000 0008D000 C:\WINDOWS\WinSxS\x86_microsoft.windows.common-controls_6595b64144ccf1df_5.82.19041.1110_none_c0da534e38c01f4d\COMCTL32.DLL
757A0000 005B3000 C:\WINDOWS\System32\SHELL32.dll
763B0000 000E3000 C:\WINDOWS\System32\OLE32.DLL
75D60000 00096000 C:\WINDOWS\System32\OLEAUT32.DLL
73380000 00006000 C:\WINDOWS\SYSTEM32\MSIMG32.DLL
73260000 00028000 C:\WINDOWS\SYSTEM32\WINMM.DLL
6CC00000 0002C000 C:\WINDOWS\SYSTEM32\OLEDLG.DLL
730F0000 00169000 C:\WINDOWS\WinSxS\x86_microsoft.windows.gdiplus_6595b64144ccf1df_1.1.19041.1348_none_d94f9953e1060d01\GDIPLUS.DLL
74080000 00072000 C:\WINDOWS\SYSTEM32\WINSPOOL.DRV
77000000 00025000 C:\WINDOWS\System32\IMM32.DLL
72F70000 00074000 C:\WINDOWS\system32\uxtheme.dll
65C40000 000AB000 C:\Work\Errori\WebView\sample\webview.dll
72C30000 00020000 C:\Work\Errori\WebView\sample\WebView2Loader.dll
76AF0000 000D3000 C:\WINDOWS\System32\MSCTF.dll
74620000 0000F000 C:\WINDOWS\SYSTEM32\kernel.appcore.dll
750C0000 0005F000 C:\WINDOWS\System32\bcryptPrimitives.dll
63EE0000 000B9000 C:\WINDOWS\SYSTEM32\textinputframework.dll
60E90000 0027E000 C:\WINDOWS\System32\CoreUIComponents.dll
61110000 0009B000 C:\WINDOWS\System32\CoreMessaging.dll
75050000 00063000 C:\WINDOWS\System32\WS2_32.dll
735D0000 00029000 C:\WINDOWS\SYSTEM32\ntmarta.dll
60DB0000 000DB000 C:\WINDOWS\SYSTEM32\wintypes.dll
73290000 00053000 C:\WINDOWS\system32\Oleacc.dll
5DC10000 002F1000 C:\Program Files (x86)\Microsoft\EdgeWebView\Application\98.0.1108.50\EBWebView\x86\EmbeddedBrowserWebView.dll
72E50000 0000A000 C:\WINDOWS\SYSTEM32\CRYPTBASE.DLL
Called from FWCALLDLL(0)
Called from WEBVIEW_CREATE(45) in webview.prg
Called from CREATEWEBVIEW(26) in webview.prg
Called from (b)MAIN(18) in webview.prg
Called from TDIALOG:INITIATE(864) in .\source\classes\DIALOG.PRG
Called from TDIALOG:HANDLEEVENT(1124) in .\source\classes\DIALOG.PRG
Called from DIALOGBOXINDIRECT(0)
Called from TDIALOG:ACTIVATE(304) in .\source\classes\DIALOG.PRG
Called from MAIN(18) in webview.prg
------------------------------------------------------------------------
Re: Using WebView with Borland !!!
Posted: Wed Feb 16, 2022 5:23 pm
by Antonio Linares
Dear Silvio,
Please build it using FWH\samples\buildh32.bat with Visual Studio Community 2022
I am going to try it again with Borland
Re: Using WebView with Borland !!!
Posted: Wed Feb 16, 2022 5:53 pm
by Silvio.Falconi
Antonio Linares wrote:Dear Silvio,
Please build it using FWH\samples\buildh32.bat with Visual Studio Community 2022
I am going to try it again with Borland
Visual Studio Community 2022 ????
I not Know How compiled it with Visual Studio Community 2022
I use xmate very well for my apps
I have this env
Code: Select all | Expand
[Environment]
Description 1=For Borland 7
Description 2=HARBOUR
Description 3=
PRG Compiler ver=Harbour
C compiler ver=Bcc7
Subsystem=FWH0217
Author=Falconi Silvio
Last update=06/18/2021
[Advanced]
Command types=1,1,1,1,1,1,1,1,1
[Harbour]
HB_INSTALL=C:\work\HARBOUR
HB_COMMAND=%HB_BIN_INSTALL%\Harbour.Exe %PRG% /m /n0 /gc1 /w0 /es2 /a /i%HB_INC_INSTALL% /j%HOME%\I18n\Main.hil /iinclude;c:\work\fwh\include;%HB_INSTALL%\include
Option prefix=/
[C]
C_INSTALL=C:\work\bcc7
C_COMP_COMMAND=%C_BIN_INSTALL%\Bcc32.Exe -M -c %CRLF%-DHB_OS_WIN_32 %CRLF%-DHB_FM_STATISTICS_OFF %CRLF%-DHB_NO_DEFAULT_API_MACROS %CRLF%-DHB_NO_DEFAULT_STACK_MACROS %CRLF%-I%C_INC_INSTALL%\windows\sdk\;%HB_INC_INSTALL% -n%HOME%\Obj %C%%CRLF%%CRLF%%CRLF%
C_LIB_COMMAND=%C_BIN_INSTALL%\TLib.Exe %LIB% /P512 @%RSP% , %LST%
C_LINK_COMMAND=%C_BIN_INSTALL%\iLink32.Exe -Gn -aa -Tpe -s -v @%LNK%
C_RC_COMMAND=c:\work\PellesC\Bin\PORC.EXE %RC% /I c:\work\pellesc\include /I c:\work\pellesc\include\win
C_DLL_COMMAND=%C_BIN_INSTALL%\iLink32.Exe -Gn -aa -Tpd -M -L%C_LIB_INSTALL% @%LNK%
Option prefix=-
[User]
POSTEXE_COMMAND=
POSTLIB_COMMAND=
POSTDLL_COMMAND=
[Files]
%C_LIB_INSTALL%\C0W32.OBJ=1
%C_LIB_INSTALL%\CW32.LIB=2
C:\Work\FWH\lib\Fiveh.lib=3
C:\Work\FWH\lib\Fivehc.lib=4
%HB_LIB_INSTALL%\hbrtl.lib=5
%HB_LIB_INSTALL%\hbvm.lib=6
%HB_LIB_INSTALL%\hbgt.lib=7
%HB_LIB_INSTALL%\gtgui.lib=8
%HB_LIB_INSTALL%\hblang.lib=9
%HB_LIB_INSTALL%\hbmacro.lib=10
%HB_LIB_INSTALL%\hbcommon.lib=11
%HB_LIB_INSTALL%\hbpp.lib=12
%HB_LIB_INSTALL%\hbrdd.lib=13
%HB_LIB_INSTALL%\rddntx.lib=14
%HB_LIB_INSTALL%\rddcdx.lib=15
%HB_LIB_INSTALL%\rddfpt.lib=16
%HB_LIB_INSTALL%\hbwin.lib=17
%HB_LIB_INSTALL%\hbsix.lib=18
%HB_LIB_INSTALL%\hbziparc.lib=19
%HB_LIB_INSTALL%\hbcpage.lib=20
%HB_LIB_INSTALL%\hbcplr.lib=21
%HB_LIB_INSTALL%\hbmzip.lib=22
%HB_LIB_INSTALL%\minizip.lib=23
%HB_LIB_INSTALL%\xhb.lib=24
%HB_LIB_INSTALL%\hbpcre.lib=25
%HB_LIB_INSTALL%\hbct.lib=26
%HB_LIB_INSTALL%\hbzlib.lib=27
%C_LIB_INSTALL%\uuid.lib=28
%C_LIB_INSTALL%\IMPORT32.LIB=29
%C_LIB_INSTALL%\PSDK\odbc32.lib=30
%C_LIB_INSTALL%\PSDK\nddeapi.lib=31
%C_LIB_INSTALL%\PSDK\iphlpapi.lib=32
%C_LIB_INSTALL%\PSDK\msimg32.lib=33
%C_LIB_INSTALL%\PSDK\ws2_32.lib=34
%C_LIB_INSTALL%\PSDK\psapi.lib=35
%C_LIB_INSTALL%\PSDK\rasapi32.lib=36
%HB_LIB_INSTALL%\png.lib=37
%C_LIB_INSTALL%\PSDK\shell32.lib=38
[DLL Files]
%HB_LIB_INSTALL%\harbour.lib=1
%C_LIB_INSTALL%\C0W32.OBJ=2
%C_LIB_INSTALL%\CW32.LIB=3
%C_LIB_INSTALL%\IMPORT32.LIB=4
is there a lib I not link ?
Re: Using WebView with Borland !!!
Posted: Wed Feb 16, 2022 6:20 pm
by Antonio Linares
Dear Silvio,
Please read this in detail:
viewtopic.php?p=246459&sid=67105e174390e3aa74634556c8e05e1a#p246459Fortunately I was able to intall Win 7 on virtualbox, going to try it on Win 7.
Could you please confirm me if you are using Windows 7 32 or 64 bits ?
thanks
Re: Using WebView with Borland !!!
Posted: Wed Feb 16, 2022 8:12 pm
by Antonio Linares
Borland users!!!

ok, it seems there is an issue with DLL FUNCTION WEBVIEW_CREATE, so meanwhile we detect it and fix it, we can use this workaround:
"webview_navigate" seems not to be working fine yet, but now it does not crash on WebView_Create()

webview.prg // test for Borland users
Code: Select all | Expand
#include "FiveWin.ch"
#include "hbdyn.ch"
function Main()
local pLib := hb_LibLoad( "webview.dll" )
local hWebView := hb_DynCall( { "webview_create", pLib, hb_bitOr( hb_SysLong(),;
hb_SysCallConv() ), hb_SysLong(),;
HB_DYN_CTYPE_LONG, HB_DYN_CTYPE_LONG_PTR }, 0, 0 )
hb_DynCall( { "webview_navigate", pLib, hb_bitOr( hb_SysLong(),;
hb_SysCallConv() ), hb_SysLong(), HB_DYN_CTYPE_CHAR_PTR },;
hWebView, "file:///c:/soporte/Ramon/test.html" )
MsgInfo( "ok" )
hb_LibFree( pLib )
return nil
function hb_SysLong()
return If( hb_OSIS64BIT(), HB_DYN_CTYPE_LLONG_UNSIGNED, HB_DYN_CTYPE_LONG_UNSIGNED )
function hb_SysCallConv()
return If( ! "Windows" $ OS(), HB_DYN_CALLCONV_CDECL, HB_DYN_CALLCONV_STDCALL )
Re: Using WebView with Borland !!!
Posted: Wed Feb 16, 2022 8:29 pm
by cmsoft
Antonio, que sería hDLL? No esta definida.
Si la cambio por pLib da un mensaje de Ok pero no muestra la pagina web
Re: Using WebView with Borland !!!
Posted: Wed Feb 16, 2022 8:34 pm
by cmsoft
Con esto logro mostra bien la pagina, pero no puedo cerrar el dialogo. Ademas me muestra un parpadeo del webview original, aunque despues lo mete en el dialogo.
Code: Select all | Expand
#include "FiveWin.ch"
#define SW_HIDE 0
#define SW_SHOW 5
#define GWL_STYLE -16
STATIC hWebView
function Main()
local oWnd, oBot, cUrl := 'https://app.pedidosbcn.com/tienda/tiendadepizzas'//cUrl := "file:///c:/fwh16/bares2/gmapb.html"
DEFINE DIALOG oWnd TITLE "FWH WebView"
ACTIVATE DIALOG oWnd ;
ON INIT CreateWebView( oWnd, cUrl ) CENTER VALID(EndWebView())
return nil
function CreateWebView(oWnd,cUrl)
local hWnd
local nStyle
hWebView := WebView_Create(0, oWnd)
hWnd := WebView_Get_Window( hWebView )
ShowWindow( hWnd, SW_HIDE )
oWnd:SetSize( 1000, 600 )
nStyle := GetWindowLong( hWnd, GWL_STYLE )
nStyle -= WS_CAPTION
nStyle -= WS_SYSMENU
nStyle += WS_THICKFRAME
SetWindowLong( hWnd, GWL_STYLE, nStyle )
SetParent( hWnd, oWnd:hWnd )
SetWindowPos( hWnd, nil, 1, 1, oWnd:nWidth - 2, oWnd:nHeight - 2, 0 )
WebView_Navigate( hWebView, cUrl )
ShowWindow( hWnd, SW_SHOW )
oWnd:Refresh()
return nil
static function EndWebView()
WebView_Destroy( hWebView )
return .t.
#pragma BEGINDUMP
#include <hbapi.h>
#include <windows.h>
#include <hbvm.h>
void * webview_create(int debug, void * window );
void webview_run( void * w );
void webview_navigate( void * w, const char * url );
void webview_destroy( void * w );
void webview_eval( void * w, const char * javascript );
void webview_bind( void * w, const char * name, void * func, void * pvoid );
int webview_get_window( void * w );
HB_FUNC( WEBVIEW_CREATE )
{
hb_retptr( webview_create( 0, NULL ) );
}
HB_FUNC( WEBVIEW_RUN )
{
webview_run( hb_parptr( 1 ) );
}
HB_FUNC( WEBVIEW_NAVIGATE )
{
webview_navigate( hb_parptr( 1 ), hb_parc( 2 ) );
}
HB_FUNC( WEBVIEW_DESTROY )
{
webview_destroy( hb_parptr( 1 ) );
}
HB_FUNC( WEBVIEW_BIND )
{
webview_bind( hb_parptr( 1 ), hb_parc( 2 ), hb_parptr( 3 ), hb_parptr( 4 ) );
}
HB_FUNC( WEBVIEW_EVAL )
{
webview_eval( hb_parptr( 1 ), hb_parc( 2 ) );
}
HB_FUNC( WEBVIEW_GET_WINDOW )
{
hb_retni( webview_get_window( hb_parptr( 1 ) ) );
}
/*
static void SendToFWH( const char * szNumRequests, const char * szJson, void * p )
{
hb_vmPushSymbol( hb_dynsymGetSymbol( "WEBVIEW_SAVEVALUES" ) );
hb_vmPushNil();
hb_vmPushString( szNumRequests, strlen( szNumRequests ) );
hb_vmPushString( szJson, strlen( szJson ) );
hb_vmFunction( 2 );
}
HB_FUNC( SENDTOFWHADDRESS )
{
hb_retnl( ( HB_LONG ) SendToFWH );
}
*/
#pragma ENDDUMP
Re: Using WebView with Borland !!!
Posted: Wed Feb 16, 2022 9:06 pm
by Silvio.Falconi
at school I have win seven 32 bit
at home I have win 10 pro
Re: Using WebView with Borland !!!
Posted: Wed Feb 16, 2022 9:32 pm
by Antonio Linares
César,
se me pasó modificarlo en el ejemplo. En vez de hDLL tiene que ser pLib.
Es para diferenciar el handle que se obtiene que no es el mismo que nos devuelve LoadLibrary()
Ahora falta saber por que WebView_Navigate() no nos lleva a la URL especificada. Debe haber algún error en el paso de parámetros.
Re: Using WebView with Borland !!!
Posted: Wed Feb 16, 2022 9:33 pm
by Jimmy
hi Silvio,
Silvio.Falconi wrote:I not Know How compiled it with Visual Studio Community 2022
you do NOT use IDE of MSVC you "just" install it to get need MSVC Files

than
Simply copy the above webview.prg to FWH\samples and do buildh32.bat webview for MSVC and buildg.bat webview for MinGW.
Re: Using WebView with Borland !!!
Posted: Wed Feb 16, 2022 10:14 pm
by Antonio Linares
Esta llamada ahora parece correcta pero sigue sin funcionar:
Code: Select all | Expand
hb_DynCall( { "webview_navigate", pLib, hb_bitOr( HB_DYN_CTYPE_VOID, hb_SysCallConv() ),;
hb_SysLong(), HB_DYN_CTYPE_CHAR_PTR },;
hWebView, "https://www.google.com" )