Access Violation at adress 0057943A

05/09/2015

5

Ola

Estou desenvolvendo um programa que automatiza algumas rotinas, em um site da empresa.

Uso o compontente WebBrowser para localizar algumas "tags" do HTML e com isso simular os Cliques e preenchimentos de Campos do Formulário.

O programa está funcionando até que bem, mas em determinados momentos (de forma aleatória) ele apresenta este erro "Access Violation"

Eu instalei um Programa chamado MadExcept, que serve para criar uma especie de Relatório sobre o momento em que o erro ocorreu, e descobri que acontece dentro de uma função que criei chamada ExisteNoHTML, que serve para verificar se um determinado texto existe dentro do HTML que está no Webbrowser.

O mais estranho é que o programa passa por diversas vezes nesta função, mas só de vez em quando dá erro.

a função é esta:

Function TForm1.ExisteNoHTML(texto: string): Boolean ;
var
 documentoAtivo : variant;
 lString: String;
 i: integer;
begin

  documentoAtivo := WebBrowser1.Document;
  Memo1.Text := documentoAtivo.Body.innerText;

  // TIVE QUE USAR ISTO PARA REMOVER "CARACTERES INDESEJADOS"
  lString := StringReplace(memo1.Text, #9, '',[rfReplaceAll]);
  Memo1.text := lString;

  result := false;
  for i := 0 to Memo1.Lines.Count - 1 do
    begin
      lString := copy(Memo1.Lines.Strings[i],1,Memo1.Lines.Strings[i].Length);
      if Pos(texto,lString) > 0 then   // VERIFICA SE EXISTE O TEXTO
        begin
          result := true;
          break;
        end;
    end;
end;


e a tela do erro apresendata pelo MadExcept é esta:

[img:descricao=TELA DO ERRO]http://arquivo.devmedia.com.br/forum/imagem/434649-20150905-180210.jpg[/img]

Eu acho que o erro tem algo a ver com o a variável do tipo "variant" mas como sou iniciante em Delphi, ainda não consegui descobrir.

Alguem consegue me ajudar ?
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários. Para saber mais sobre o uso de cookies,
consulte nossa política de privacidade. Ao continuar navegando em nosso site, você concorda com a nossa política.

Aceitar