Como identificar qnd se WebBrowser terminou de carregar URL?
Pessoal estou tentando fazer um GET em uma página que usa o protocolo https://, a página que preciso acessar é chamada através uma ISAPI, já tentei usar a INDY, e mesmo com ela atualizada, não consigo acessar a página, tentei usar também o componente ICS sem sucesso também, a saída foi usar o WEBBROWSER dinâmicamente,
mas estou com o seguinte problema, não consigo identificar quando a página foi totalmente carregada, alguém tem alguma sugestão de como posso idetificar se o WebBrowser já terminou de carregar a página ou até mesmo de outro componente que consiga acessar um URL https:// que carrega uma ISAPI?
mas estou com o seguinte problema, não consigo identificar quando a página foi totalmente carregada, alguém tem alguma sugestão de como posso idetificar se o WebBrowser já terminou de carregar a página ou até mesmo de outro componente que consiga acessar um URL https:// que carrega uma ISAPI?
Jonasces
Curtidas 0
Respostas
Rjun
06/05/2005
No TWebBrowser tem o evento OnDocumentComplete. Utilize ele para saber se a pagina ja foi carregada.
GOSTEI 0
Jonasces
06/05/2005
Mas como implementaria isso em um componente criado dinâmicamente?
GOSTEI 0
Rjun
06/05/2005
Crie uma procedure com a mesma assinatura do evento OnDocumentComplete e quando você criar dinamicamente browser, desvie o evento para a procedure que voce criou.
myBrowser.OnDocumentComplete := myProcedureTratamento;
myBrowser.OnDocumentComplete := myProcedureTratamento;
GOSTEI 0
Jonasces
06/05/2005
Não consegui usar essa procedure fiz o que pediu, só consigo utilizar ela quando o componente está no Form, tem idéia do pode está ocorrendo?
GOSTEI 0
Rjun
06/05/2005
Poste o código da procedure que você criou e do trecho que você está desviando o evento.
GOSTEI 0
Jonasces
06/05/2005
Tentei até usar o onNavigateComplete que funciona dinãmicamente, mas parece que ele não faz a mesma coisa que o onDocumenteComplete, aliás sabe o que ele faz?
Obrigado!
Obrigado!
GOSTEI 0
Jonasces
06/05/2005
//Instacio a classe
procedure TfrmPrincipal.FormCreate(Sender: TObject);
begin
vWebBrowser := TWebBrowser.Create(Self);
end;
procedure TfrmMain.Pesquisa (aPalavraChave: String);
begin
vWebBrowser.OnNavigateComplete2 := Self.vWebBrowser1NavigateComplete;
vWebBrowser.OnDocumentComplete := Self.oWebBrowserDocumentComplete;
vWebBrowser.Navigate(URL);
end;
procedure TfrmMain.vWebBrowserDocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
ShowMessage (´Deu certo´);
end;
procedure TfrmPrincipal.FormCreate(Sender: TObject);
begin
vWebBrowser := TWebBrowser.Create(Self);
end;
procedure TfrmMain.Pesquisa (aPalavraChave: String);
begin
vWebBrowser.OnNavigateComplete2 := Self.vWebBrowser1NavigateComplete;
vWebBrowser.OnDocumentComplete := Self.oWebBrowserDocumentComplete;
vWebBrowser.Navigate(URL);
end;
procedure TfrmMain.vWebBrowserDocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
begin
ShowMessage (´Deu certo´);
end;
GOSTEI 0
Rjun
06/05/2005
Aparentemente esta certo. A mensagem que você colocou não esta aparecendo ?
GOSTEI 0
Jonasces
06/05/2005
Eu teria que char a procesure ´vWebBrowserDocumentComplete´ de algum lugar? Não entendi bem
GOSTEI 0
Jonasces
06/05/2005
A mensagem não aparece.
GOSTEI 0
Rjun
06/05/2005
Jonas
É o seguinte : para que isso funcione o TWebBrowser tem que estar visivel, nem que você o coloque em um form transparente. Mas isso so funciona no XP.
É o seguinte : para que isso funcione o TWebBrowser tem que estar visivel, nem que você o coloque em um form transparente. Mas isso so funciona no XP.
GOSTEI 0
Jonasces
06/05/2005
Cara, brigadão, se precisar de ajuda estamos ai também...
Vou resolver com o NavegateComplete e fazendo alguns tratamentos.
Vou resolver com o NavegateComplete e fazendo alguns tratamentos.
GOSTEI 0
Jonasces
06/05/2005
Rogério, vc sabe de algum componente diferente da Indy, ICS e Wininet para conenctar a páginas e pegar o conteúdo delas?
Obrigado!
Obrigado!
GOSTEI 0
Rjun
06/05/2005
Jonas
Não tenho conhecimento de outro. Pq ? O TWebBrowser não serve ?
Não tenho conhecimento de outro. Pq ? O TWebBrowser não serve ?
GOSTEI 0
Jonasces
06/05/2005
Até serve, mas queria usar apenas algumas funções dele, vc sabe se eu consigo achar a implementação dele em algum lugar?
GOSTEI 0
Rjun
06/05/2005
Não entendi. Como assim só algumas funções ?
GOSTEI 0
Jonasces
06/05/2005
Cara o WbBrowser resolveu o meu problema temporariamente, mas tem algumas caracteríscas dele que não gostei e não preciso usar também, quero achar a implementação dele para construir um componente com as mesmas características dele mas sem algumas coisas que ele possui.
Valeu pela ajuda ai hem...
Valeu pela ajuda ai hem...
GOSTEI 0
Jonasces
06/05/2005
Cara, o seguinte, o WebBrowser resolveu o meu problema, mas queria tirar algumas características dele e mudar outras, essa coisa dele não ficar invível no form, por exemplo, por isso queria saber se consigo achar a implementação dele.
GOSTEI 0