Boa tarde!
Existe uma função no Protheus onde eu possa através de uma opção de menu ou num botão, abrir uma página da internet no navegador padrão sem usar o ShellExecute?
Boa tarde!
Existe uma função no Protheus onde eu possa através de uma opção de menu ou num botão, abrir uma página da internet no navegador padrão sem usar o ShellExecute?
Veja se isso ajuda, é da pagina Terminal de Informação.
Static Function WEB()
Local aSize := MsAdvSize()
Local nPort := 0
Local cUrl := "https://www.totvs.com/"
Local oModal
Local oWebEngine
Private oWebChannel := TWebChannel():New()
//Cria a dialog
oModal := MSDialog():New(aSize[7],0,aSize[6],aSize[5], "Página Web" ,,,,,,,,,.T. /*lPixel*/ )
//Prepara o conector
nPort := oWebChannel::connect()
//Cria o componente que irá carregar a url
oWebEngine := TWebEngine():New(oModal, 0, 0, 100, 100, /*cUrl*/ , nPort)
oWebEngine:bLoadFinished := {|self, url| /*conout("Fim do carregamento da pagina " + url)*/ }
oWebEngine:navigate(cUrl)
oWebEngine:Align := CONTROL_ALIGN_ALLCLIENT
oModal:Activate()
Return
Muito bom o exemplo. Usar a MSDialog como container é a melhor prática para que a página pareça nativa do ERP.
O ShellExecute muitas vezes quebra o fluxo de trabalho jogando o usuário para o Chrome ou Edge, enquanto essa função mantém o foco na aplicação. O código está bem limpo e funcional.