Hallo,
ich möchte mit Hilfe eines IHTMLTxtRange Objekts einen bestimmten Term in 4 verschiedenen HtmlSeiten suchen.
Dazu lasse ich in einer Schleife zunächst die entsprechende Seite aufrufen, um dann das TxtRange Objekt zu benutzen. Leider wird bei meiner Implementierung stets eine EAccessViolation aufgerufen, obwohl die Funktion ohne entsprechende Schleife, also bei der Suche in nur einem Dokument einwandfrei funktioniert.
Delphi-Quellcode:
procedure MultiSearch(Term: String);
var
tr: IHTMLTxtRange;
i: Integer;
begin
if Term <> '' then
begin
for i:= 0 to 3 do
begin
FrmMultisearch.WBMultiSearch.Navigate(AdrArticles + IntToStr(i) +
'.html');
if not FrmMultisearch.WBMultiSearch.Busy then
begin
tr := ((FrmMultisearch.WBMultiSearch.Document as
IHTMLDocument2).body as
IHTMLBodyElement).createTextRange;
{Get a body with IHTMLDocument2 Interface and then a
TextRang obj. with IHTMLBodyElement Intf.}
while tr.findText(Term, 1, 0) do //while we have result
begin
inc(hitcounts[i]);
end;
end;
end;
end;
end;
Leider werd ich aus der MSHTML Referenz auch nicht schlauer, wodurch diese
Exception geworfen werden könnte.
..... - Kurt - .....