Link para nova página da internet

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.

1 curtida