SendToFWH() - TWebView2

Post Reply
User avatar
Ari
Posts: 250
Joined: Fri Feb 03, 2006 4:21 pm
Location: São Paulo, SP - Brazil
Been thanked: 2 times
Contact:

SendToFWH() - TWebView2

Post by Ari »

Hello,

HTML see <script>

Code: Select all | Expand

  
  <!DOCTYPE html>
  <html lang="pt-br">
  <head>
  
  <meta charset="UTF-8">
  <title>Menu</title>
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
  <link rel="stylesheet" href="/easyui/themes/color.css">
  <link rel="stylesheet" href="/easyui/themes/metro/easyui.css">
  <script src="https://code.jquery.com/jquery-3.6.4.min.js"></script>
  <script src="https://www.jeasyui.com/easyui/jquery.easyui.min.js"></script>
      
    
  <script>

    function ExecMenu(opcao){
    
         alert("Executando ExecMenu: " + opcao);              <<<< ----- ok
         
         window.chrome.webview.postmessage(opcao);            <<<< ---- :-( não funciona
		 SendToFWH( opcao );                                  <<<< ---- :-( não funciona 
   	}
 
  </script>
  
  <style>
   
  body {
    font-family: "Segoe UI", sans-serif;
    padding: 20px;
    background: #f4f6f9;
  }
 
  .menu-card {
    padding: 0;
    padding-bottom: 12px;
    background: #fff;
    border: 1px solid #d0d7de;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
    margin-bottom: 20px;
  }
 
  h3.menu-titulo {
    margin: 0;
    padding: 8px 12px;
    background-color: 'f6f6f6;
    color: '0078d4;
    font-size: 16px;
    font-weight: bold;
    border-bottom: 1px solid 'ddd;
    border-radius: 6px 6px 0 0;
  }
 
  ul {
    margin: 2px 0;
    padding: 0;
  }
 
  li, li a {
    list-style: none;
    margin: 0;
    padding: 0;
    border: none;
    line-height: 1.2;
  }
 
  .menu-card li {
    cursor: pointer;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
 
  .menu-card li:hover {
    background: #B0E2FF;
  }
 
  li a {
    color: #0078d4;
    text-decoration: underline;
    display: block;
    padding: 2px 2px;
  }
 
  li a:hover {
    text-decoration: none;
  }
  
  li span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  }
  
  li img, li i {
    vertical-align: middle;
    display: inline-block;
    margin-right: 6px;  
  }
    
  </style>
    
  </head>
  <body>
  

   <div class="menu-container" style="display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px;">

   <div class="menu-card" style="background:#fff; border:1px solid #d0d7de;   border-radius:6px; padding:12px; box-shadow:0 1px 3px rgba(0,0,0,0.05);">
   <h3 style="margin:0; color: white; font-size:16px; border-bottom:1px solid #eee; border-radius: 6px 6px 0 0;border-bottom: 1px solid #ddd; font-weight: bold;padding: 8px 12px;padding-bottom:4px; background-color: #004080;">Arquivos</h3>
   <ul style="list-style:none; padding:0; margin:0; white-space: nowrap;">
     <li><span><i class="fas fa-dollar-sign" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVPla000():New( ::oWnd )'); return false;">Captura lista de preços</a></span></li>
     <li><span><i class="fas fa-box" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVFrm087():New(::oWnd)'); return false;">Gerar arquivo de produtos (Global)</a></span></li>
     <li><span><i class="fas fa-envelope" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('EnviaLista()'); return false;">Enviar lista de preco por email</a></span></li>
     <li><span><i class="fas fa-cog" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TCfg():New(::oWnd)'); return false;">Configurações Gerais</a></span></li>
     <li><span><i class="fas fa-user" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVFrm046():New(::oWnd, ::oWnd:oMenu)'); return false;">Vendedor/Usuário/Representante</a></span></li>
     <li><span><i class="fas fa-user-lock" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVFrm124():New(::oWnd)'); return false;">Ligar/Desligar direitos para vários usuários</a></span></li>
    </ul>
</div>

   <div class="menu-card" style="background:#fff; border:1px solid #d0d7de; border-radius:6px; padding:12px; box-shadow:0 1px 3px rgba(0,0,0,0.05);">

   <h3 style="margin:0; color: white; font-size:16px; border-bottom:1px solid #eee; border-radius: 6px 6px 0 0;border-bottom: 1px solid #ddd; font-weight: bold;padding: 8px 12px;padding-bottom:4px; background-color: #004080;">Processos especiais</h3>

   <ul style="list-style:none; padding:0; margin:0;">
     <li><span><i class="fas fa-database" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('Msg("Solicite informações para restaurar copias de segurança")'); return false;">Restaurar Cópias de Segurança</a></span></li>
     <li><span><i class="fas fa-table" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TCheckTab():New(.T., ::oWnd)'); return false;">Conferência das tabelas</a></span></li>
     <li><span><i class="fas fa-table" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('MsgMeter({|oMeter| RecnoTab(oMeter) },"aguarde","processando")'); return false;">Recupera tabela-especial</a></span></li>
     <li><span><i class="fas fa-exchange-alt" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TrocaTbl()'); return false;">Troca de tabela - manutenção</a></span></li>
     <li><span><i class="fas fa-upload" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TMigra():New(.T.,,,.T.)'); return false;">Carrega tabela de dados - manutenção</a></span></li>
     <li><span><i class="fas fa-file-archive" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TBackup():New(2, ::oWnd)'); return false;">Backup dos Arquivos XML-NFe</a></span></li>
     <li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TBackup():New(3, ::oWnd)'); return false;">Enviar todos os XML-NFe por Cliente</a></span></li>
     <li><span><i class="fas fa-terminal" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('ManutencaoQuery()'); return false;">Manutenção por query</a></span></li>
     <li><span><i class="fas fa-wrench" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('ManutencaoPorFuncao()'); return false;">Manutenção por função</a></span></li>
     <li><span><i class="fas fa-terminal" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('CriaManutencaoQuery()'); return false;">Cria Manutenção por query</a></span></li>
     <li><span><i class="fas fa-tools" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('CriaManutencaoPorFuncao()'); return false;">Cria Manutenção por função</a></span></li>
     <li><span><i class="fas fa-folder-open" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVFrm086():New()'); return false;">Organizar Arquivos</a></span></li>
     <li><span><i class="fas fa-file-medical" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('ManTableFrm086()'); return false;">Manutenção arquivos - corrigir integridade</a></span></li>
     <li><span><i class="fas fa-tools" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('Reparar()'); return false;">Manutenção de tabela</a></span></li>
     <li><span><i class="fas fa-circle" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TCheckDic():Ler(::oWnd)'); return false;">Registros de eventos</a></span></li>
     <li><span><i class="fas fa-history" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TCheckDic():LerPed(::oWnd)'); return false;">Histórico de pedidos de venda</a></span></li>
     <li><span><i class="fas fa-history" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TCheckDic():LerPedComp(::oWnd)'); return false;">Histórico de pedidos de compra</a></span></li>
     <li><span><i class="fas fa-history" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TCheckDic():LerPedCompDiversos(::oWnd)'); return false;">Histórico de pedidos de compra - diversos</a></span></li>
     <li><span><i class="fas fa-receipt" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TCheckDic():VerDuplicata(1,::oWnd)'); return false;">Histórico de duplicatas - Contas a pagar</a></span></li>
     <li><span><i class="fas fa-receipt" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TCheckDic():VerDuplicata(2,::oWnd)'); return false;">Histórico de duplicatas - Contas a receber</a></span></li>
     <li><span><i class="fas fa-share-square" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('SuporteSis()'); return false;">Enviar informações do sistema</a></span></li>
     <li><span><i class="fas fa-user" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TUser():New(::oWnd)'); return false;">Usuários conectados</a></span></li>
     <li><span><i class="fas fa-database" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TSysInfo():New(::oWnd)'); return false;">Informações do MySQL</a></span></li>
     <li><span><i class="fas fa-cloud-upload-alt" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('MsgRun("Verificando versão no Servidor FTP", "Sisrev Informática Ltda.", {|oMsg| ChamaGoFTP()} )'); return false;">Atualizar versão do Sistema por FTP</a></span></li>
     <li><span><i class="fas fa-cloud-upload-alt" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVMan233():New(::oWnd)'); return false;">Atualizar NFe_Util por FTP</a></span></li>
     <li><span><i class="fas fa-cloud-upload-alt" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVMan234():New(::oWnd)'); return false;">Atualizar Fontes do Danfe por FTP</a></span></li>
     <li><span><i class="fas fa-sync" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('MsgRun("Verificando versão no Servidor Web", "Sisrev Informática Ltda.", {|oMsg| ChamaGoWeb(1)} )'); return false;">Atualizar versão via Servidor Web</a></span></li>
     <li><span><i class="fas fa-sync-alt" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('MsgRun("Verificando versão no Servidor Web", "Sisrev Informática Ltda.", {|oMsg| ChamaGoWeb(2)} )'); return false;">Substituir versão (mesmo número) via Servidor Web</a></span></li>
   </ul></div>

   <div class="menu-card" style="background:#fff; border:1px solid #d0d7de; border-radius:6px; padding:12px; box-shadow:0 1px 3px rgba(0,0,0,0.05);">

   <h3 style="margin:0; color: white; font-size:16px; border-bottom:1px solid #eee; border-radius: 6px 6px 0 0;border-bottom: 1px solid #ddd; font-weight: bold;padding: 8px 12px;padding-bottom:4px; background-color: #004080;">Arquivos de contabilidade</h3>

   <ul style="list-style:none; padding:0; margin:0;">
     <li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TFolhaMNovo():New(.F.)'); return false;">Gerar arquivo Folhamatic layout 1.9 </a></span></li>
     <li><span><i class="fas fa-file-invoice-dollar" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVMan210():New(::oWnd)'); return false;">Gerar arquivo de recebimentos</a></span></li>
     <li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TFolha20():New(.T.)'); return false;">Gerar arquivo Folhamatic layout 2.0 (2009) </a></span></li>
     <li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TContMatic():New(1)'); return false;">Gerar arquivo Contmatic (Entradas/Saidas) </a></span></li>
     <li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TContMatic():New(2)'); return false;">Gerar arquivo Contmatic (Lançtos.Contabeis: Pagos/Recebidos) </a></span></li>
     <li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('MsgMeter( {|oMeter|TSintegra2009():TxtInventario_Contmatic(oMeter)},"Processando","Aguarde")'); return false;">Gerar arquivo Contmatic (Inventário) </a></span></li>
     <li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TFolhaMCompra():New()'); return false;">Gerar arquivo Folhamatic layout 2.0 (Notas de Compras) </a></span></li>
     <li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TFolha20():New(.T., .T.)'); return false;">Gerar arquivo Folhamatic layout 2.0.06 </a></span></li>
     <li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TFolhaMCompra():New(.T.)'); return false;">Gerar arquivo Folhamatic layout 2.0.06 (Notas de Compras) </a></span></li>
     <li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVArq001():New()'); return false;">Gerar arquivo Prosoft (Lançtos.Contabeis: Pagos/Recebidos) </a></span></li>
     <li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('MsgMeter( {|oMeter|TSintegra2009():TxtInventario_Prosoft(oMeter)},"Processando","Aguarde")'); return false;">Gerar arquivo Prosoft (Inventário) </a></span></li>
     <li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVArq002():New()'); return false;">Gerar arquivo Questor (Lançtos.Contabeis: Pagos/Recebidos) </a></span></li>
     <li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVArq003():New()'); return false;">Gerar arquivo Folhamatic (Lançtos.Contabeis: Pagos/Recebidos) </a></span></li>
     <li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVArq004():New()'); return false;">Gerar Arquivo para o Sistema Domínio (Lançamentos Contábeis: Pagos/Recebidos) </a></span></li>
     <li><span><i class="fas fa-folder" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('MsgMeter({|oMeter| TNfeMonitor():GeraNfe(oMeter,1)},"Processando","Aguarde")'); return false;">Arquivos NFe (gera XML das notas-saídas)</a></span></li>
     <li><span><i class="fas fa-file-code" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('MsgMeter({|oMeter| TNfeMonitor():GeraNfe(oMeter,2)},"Processando","Aguarde")'); return false;">Arquivos NFe (gera XML das notas-por cliente)</a></span></li>
     <li><span><i class="fas fa-file-import" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('MsgMeter({|oMeter| TNfeMonitor():GeraNfeEnt(oMeter,1)},"Processando","Aguarde")'); return false;">Arquivos NFe (gera XML das notas-entradas)</a></span></li>
     <li><span><i class="fas fa-file-import" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('MsgMeter({|oMeter| TNfeMonitor():GeraNfeEnt(oMeter,2)},"Processando","Aguarde")'); return false;">Arquivos NFe (gera XML das notas-entradas-por fornecedor)</a></span></li>
     <li><span><i class="fas fa-file-invoice" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVRLis256():New(::oWnd)'); return false;">Relatório de Conferência de XML de Notas de Entrada</a></span></li>
     <li><span><i class="fas fa-file-signature" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('MsgMeter({|oMeter| TNFeMonitor():GeraCartas(oMeter)},"Processando","Aguarde")'); return false;">Arquivos de Carta de Correção (gera XML das cartas)</a></span></li>
     <li><span><i class="fas fa-table" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TEContab():New(2)'); return false;">Tabela de Produtos para Sistema E-Contab </a></span></li>
     <li><span><i class="fas fa-file-invoice-dollar" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVRlis260():New(::oWnd)'); return false;">Escritório '1 - 100 clientes     (contabilidade)</a></span></li>
     <li><span><i class="fas fa-file-invoice-dollar" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVRlis261():New(::oWnd)'); return false;">Escritório '2 - 100 fornecedores (contabilidade)</a></span></li>
     <li><span><i class="fas fa-box" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVRlis262():New(::oWnd)'); return false;">Escritório '3 - 100 produtos (saídas)(contabilidade)</a></span></li>
     <li><span><i class="fas fa-box" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVRlis263():New(::oWnd)'); return false;">Escritório '4 - 100 produtos (entrada)(contabilidade)</a></span></li>
   </ul></div>

   <div class="menu-card" style="background:#fff; border:1px solid #d0d7de; border-radius:6px; padding:12px; box-shadow:0 1px 3px rgba(0,0,0,0.05);">

   <h3 style="margin:0; color: white; font-size:16px; border-bottom:1px solid #eee; border-radius: 6px 6px 0 0;border-bottom: 1px solid #ddd; font-weight: bold;padding: 8px 12px;padding-bottom:4px; background-color: #004080;">Arquivos Fiscais</h3>

   <ul style="list-style:none; padding:0; margin:0;">
     <li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TSintegra2009():New()'); return false;">Gerar Sintegra 2009 (a partir 01-05-2009)</a></span></li>
     <li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TSintegra2009():Registro88()'); return false;">Gerar Sintegra 2009 (registro 88)</a></span></li>
     <li><span><i class="fas fa-file-export" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('MsgMeter( {|oMeter|TSintegra2009():Processa74(oMeter,,,,,,,.T.)},"Processando","Aguarde")'); return false;">Gerar Sintegra 2009 (somente - registro 74)</a></span></li>
     <li><span><i class="fas fa-file-invoice" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVFrm040():New()'); return false;">SPED Fiscal - Cadastro do Contador</a></span></li>
     <li><span><i class="fas fa-file-invoice" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVFrm045():New(::oWnd)'); return false;">SPED Fiscal - Gerar arquivo fiscal</a></span></li>
     <li><span><i class="fas fa-folder" style="margin-right:6px;"></i><a href="#" onclick="javascript:ExecMenu('TVFrm044():New(::oWnd)'); return false;">SPED PIS/COFINS - Gerar arquivo</a></span></li>
   </ul></div>
   </div>

</body>
</html>

This is TWebView2() is not getting the HTML option

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"

STATIC oWV

* ========================================================================
CLASS TVWeb FROM TVisualForm
* ========================================================================
  DATA cPage, 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  
  ::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" + ::cNome ) ) 
  ::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:SetUserAgent( WebAgent())                                            
  ::oWebView:Navigate( ::cPage )                     
  
  ::oWebView:bOnBind  := { |cJson| ExecWeb(cJson) }   
  
  ::oWebView:OpenDevToolsWindow(.F.)
  ::oWebView:ShowDownloads(.F.)    
  ::oWebView:oWnd:bInit := {|| ::oWebView:oWnd:Maximize() }
                                    
  ::oWebView:Run()  
  ::oWebView:Destroy()
    
  WndMain():Hide()  
 
#endif

return nil

* ========================================================================
Function ExecWeb( cData )
* ========================================================================
  local cEndPoint := ""
    
  if ValType( cData ) == "A"
  
#ifdef __HARBOUR__  
     cData := HB_VALTOEXP(cData) /* converts any data type to STR Value */
     cData := strtran( cData, "{", "")
     cData := strtran( cData, "}", "")
     cData := strtran( cData, "'", "")
#endif

  Endif  
  
  cEndPoint:= substr( cData, aT(":", cData ) + 1 , 100 )    
  cData    := strtran("#classe=" + cData +"#EndPoint="+cEndPoint, "#", "&" )
   
  OnGet( cData  )
  
return nil

* =========================================================================
Function StartTVWeb(cFileName) 
* =========================================================================

 if IfExist(oWV)
    oWV:oWebView:Navigate("http://localhost:3000/" + cFileName) 
 Else 
    oWV := TVWeb():New(cFileName)
 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 somente 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" 
       
Thanks,
Ari

FWH 2501 - Harbour 3.2.0 - Embarcadero 7.43 - MySQL
São Paulo - SP - Brasil
www.sisrev.com.br
User avatar
Antonio Linares
Site Admin
Posts: 42715
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 93 times
Been thanked: 103 times
Contact:

Re: SendToFWH() - TWebView2

Post by Antonio Linares »

Ari,

Desde el DevToolsWindow, en la consola, mira a ver si se genera algún error de javascript
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Ari
Posts: 250
Joined: Fri Feb 03, 2006 4:21 pm
Location: São Paulo, SP - Brazil
Been thanked: 2 times
Contact:

Re: SendToFWH() - TWebView2

Post by Ari »

Hi, Antonio

I did this and it says that SetToFWH() doesn't exist, but I've already used it on another page and it worked. The SendToFWH() function has to be created in a .js file or in the HTML using <script>. I just couldn't figure out what's happening because inside the functions I receive the alert(); that's going there, but then SendToFHW() doesn't do anything. The idea is to use the page as an interface and run the real FiveWin functions/classes, generate other pages and return the new HTML to the WebView.

I'm using TWebView2, it already works with other parts.

I asked GPT, they gave me some suggestions, but without success.
Thanks,
Ari

FWH 2501 - Harbour 3.2.0 - Embarcadero 7.43 - MySQL
São Paulo - SP - Brasil
www.sisrev.com.br
User avatar
Antonio Linares
Site Admin
Posts: 42715
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Has thanked: 93 times
Been thanked: 103 times
Contact:

Re: SendToFWH() - TWebView2

Post by Antonio Linares »

Dear Ari,

From the console of DevToolsWindow write this:

SendToFWH( "test" );

and check if you get it from your app
regards, saludos

Antonio Linares
www.fivetechsoft.com
Post Reply