Fórum Access Violation at adress 0057943A #530850
05/09/2015
0
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:
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 ?
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:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | 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 ?

Andre Marsola
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)