Fórum Como identificar qnd se WebBrowser terminou de carregar URL? #280378

06/05/2005

0

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?


Jonasces

Jonasces

Responder

Posts

06/05/2005

Rjun

No TWebBrowser tem o evento OnDocumentComplete. Utilize ele para saber se a pagina ja foi carregada.


Responder

Gostei + 0

06/05/2005

Jonasces

Mas como implementaria isso em um componente criado dinâmicamente?


Responder

Gostei + 0

06/05/2005

Rjun

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;


Responder

Gostei + 0

06/05/2005

Jonasces

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?


Responder

Gostei + 0

06/05/2005

Rjun

Poste o código da procedure que você criou e do trecho que você está desviando o evento.


Responder

Gostei + 0

06/05/2005

Jonasces

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!


Responder

Gostei + 0

06/05/2005

Jonasces

//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;


Responder

Gostei + 0

06/05/2005

Rjun

Aparentemente esta certo. A mensagem que você colocou não esta aparecendo ?


Responder

Gostei + 0

06/05/2005

Jonasces

Eu teria que char a procesure ´vWebBrowserDocumentComplete´ de algum lugar? Não entendi bem


Responder

Gostei + 0

06/05/2005

Jonasces

A mensagem não aparece.


Responder

Gostei + 0

06/05/2005

Rjun

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.


Responder

Gostei + 0

06/05/2005

Jonasces

Cara, brigadão, se precisar de ajuda estamos ai também...

Vou resolver com o NavegateComplete e fazendo alguns tratamentos.


Responder

Gostei + 0

06/05/2005

Jonasces

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!


Responder

Gostei + 0

06/05/2005

Rjun

Jonas

Não tenho conhecimento de outro. Pq ? O TWebBrowser não serve ?


Responder

Gostei + 0

06/05/2005

Jonasces

Até serve, mas queria usar apenas algumas funções dele, vc sabe se eu consigo achar a implementação dele em algum lugar?


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar