Vou tentar explicar minha dificuldade:
Estou modificando o meu ERP, e criei classes que já funcionam no GUI, e também no HTML, a mesma classe criada em GUI é redesenhada no HTML.
(quando eu modifico algo no FiveWin já refrete a modificação no desenho HTML)
E estou usando EasyUI + Javascript + Json, e conforme código abaixo e abro a primeira página e a partir dele preciso acionar uma outra classe que gera a página de um relatorio por exemplo, eu não estou sabendo criar o javascript e passar para o Harbour qual a classe criar HTML, e em seguida reapresentar a nova página, dei uma olhada no SendToFWH(), É possivel passar um nome classe por este comando ?
E dentro da página do relatório botoes para imprimir, pdf, dashboard, excel, etc. Passei olhando os exemplos e não consegui nada.
Antes tudo isso já funcionava com o mod_harbour, mas isso precisa de um servidor grande, apache, etc.. e quando vi que posso ter o Browse Edge dentro do APP achei genial. Estou modificando para simplificar as coisas
eu uso FWH 2410 e tambem tenho FWH 2501.
Code: Select all | Expand
/*========================================================================
SISREV INFORMATICA LTDA.
Prestando serviços com qualidade desde 1993
CNPJ: 02.623.572/0001-52
CNPJ: 02.623.572/0002-33
www.sisrev.com.br
========================================================================
Sistema..: Sisrev-Win 5.0
Autor(es): Ariovaldo da Costa Foliene
Aplicação: TVWeb
Notas....: Abre as páginas do Sisrev-Web - Microsoft Edge WebView2
Data.....: 10-03-2025
========================================================================
TVisual--+
|
+--TVisualForm--+
|
+--TVWeb.prg
========================================================================
*/
#include "fivewin.ch"
#include "Objects.ch"
#include "\sis\fsql901\include\rede.ch"
* ========================================================================
CLASS TVWeb FROM TVisualForm
* ========================================================================
DATA cPage
DATA oWebView
METHOD New() CONSTRUCTOR
METHOD AddControl()
METHOD BuildMenu()
END CLASS
* ========================================================================
METHOD New( xcPage, xcNome ) CLASS TVWeb
* ========================================================================
#ifdef __XHARBOUR__
TVWebMsg() ; return Self
#endif
DEFAULT xcPage := ""
DEFAULT xcNome := Empresas(1)
::Super:New("rel")
::cNome := xcNome
::cPage := "http://localhost:3000/" + xcPage // nodejs
::lToolBar := FALSE
::lTask := FALSE
::lRastrear := FALSE
::AddControl()
::oWebView:oWnd:bValid := {|| ::oWebView:Terminate(),;
WndMain():Show() ,;
WndMain():SetFocus(), TRUE }
return Self
* ========================================================================
METHOD AddControl() CLASS TVWeb
* ========================================================================
#ifndef __XHARBOUR__
::oWebView:= TWebView2():New()
::oWebView:SetTitle( WebTitle("Sisrev-Web") )
::oWebView:SetUserAgent( WebAgent() )
::oWebView:oWnd:bResized := {|| ::oWebView:oWnd:Maximize() }
::oWebView:oWnd:SetMenu( ::BuildMenu() )
::oWebView:oWnd:SetColor( CLR_BLACK ,nRGB( 231, 242, 255 ) )
::oWebView:oWnd:l2007 := .T.
::oWebView:SetSize( WndWidth( ::oWebView:oWnd:hWnd ) - 15, WndHeight( ::oWebView:oWnd:hWnd ) - 58 )
::oWebView:Navigate( ::cPage )
::oWebView:OpenDevToolsWindow(.F.)
::oWebView:ShowDownloads(.F.)
::oWebView:oWnd:bInit := {|| ::oWebView:oWnd:Maximize() }
::oWebView:Run()
::oWebView:Destroy()
WndMain():Hide()
#endif
return nil
* =========================================================================
METHOD BuildMenu() CLASS TVWeb
* =========================================================================
local oMenu
MENU oMenu
MENUITEM "Fechar" ACTION ::oWebView:oWnd:End()
ENDMENU
return oMenu
* =========================================================================
Function TVWebMsg()
return Msg("** Esta funcionidade disponível para HarBour **")
* =========================================================================
* =========================================================================
Function WebAgent()
* =========================================================================
return "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N)"+;
" AppleWebKit/537.36 (KHTML, like Gecko)" +;
" Chrome/103.0.5060.53 Mobile Safari/537.36"