Classe TWebEngine

Boa tarde,

Implementei a classe para abrir um arquivo na maquina e o arquivo não abre, só estou consigo abrir endereços http ou https .

PRIVATE oWebEngine := TWebEngine():New(oPanel, 0, 0, 100, 100,, nPort) oWebEngine:bLoadFinished := {|self,url| conout("Termino da carga do pagina: " + url) } //oWebEngine:navigate("file:///C:/TEMP/pedido20210722134926.pdf") --- não abre oWebEngine:navigate("https://endereço") oWebEngine:Align := CONTROL_ALIGN_ALLCLIENT

O que poderia ser ?

Tiago, acabei de fazer esse teste, igual o seu e funcionou corretamente, poderia dar mais informações? Procure atualizar os seus artefatos binários para verificar se isso passa a funcionar.

Também estou com essa dificuldade de abrir um arquivo PDF local com tWebEngine.. Se alguem puder auxiliar.

Boa tarde!

Não sei se seria este o problema... mas tenho usado e tem funcionado...


Local aCoors            := FWGetDialogSize(oDlg)

    // WebSocket (comunicacao AdvPL x JavaScript)

    oWebChannel := TWebChannel():New()
    oWebChannel:bJsToAdvpl := {|self,key,value| jsToAdvpl(self,key,value) }
    oWebChannel:connect()

    // WebEngine (chromium embedded)
    oWebEngine := TWebEngine():New(oDlg,aCoors[1], aCoors[2] , (aCoors[3]) - aCoors[1] -200, (aCoors[4]) - aCoors[2]-200,/*cUrl*/,oWebChannel:nPort)
    oWebEngine:Align := CONTROL_ALIGN_ALLCLIENT

    // WebComponent de teste
    tmp := GetTempPath()
    mainHTML := tmp + lower("arquivo") + ".html"

    oWebEngine:navigate(;
        iif(getOS()=="UNIX", "file://", "")+;
        mainHTML)

    // bLoadFinished sera disparado ao fim da carga da pagina
    // instanciando o bloco de codigo do componente, e tambem um customizado
    oWebEngine:bLoadFinished := {|webengine, url| OnInit(webengine, url),;
        myLoadFinish(webengine, url) }

acredito que va precisar do da Static function que peguei em garimpos...


/*/-----------------------------------------------------------------/
Retorna o Sistema Operacional em uso
/-------------------------------------------------------------------*/
static function getOS()
    local stringOS := Upper(GetRmtInfo()[2])

    if ("ANDROID" $ stringOS)
        return "ANDROID"
    elseif ("IPHONEOS" $ stringOS)
        return "IPHONEOS"
    elseif GetRemoteType() == 0 .or. GetRemoteType() == 1
        return "WINDOWS"
    elseif GetRemoteType() == 2
        return "UNIX" // Linux ou MacOS
    elseif GetRemoteType() == 5
        return "HTML" // Smartclient HTML
    endif

return ""

Em resumo... é usado File:// somente quando for Unix.. se for Windows nao precisa..

Espero ter ajudado.. Att