Autor Beitrag
Dolognio
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Di 03.06.08 17:30 
Hallo Delphi'ler,
so langsam bin ich am verzweifeln...
Ich versuch seit Tagen eine Prozedur zu schreiben, um aus einer Webseite, die aus Frames besteht, Links auszulesen (in einem bestimmten Frame, welches ich aber nicht weiß, die Prozedur muss also alles Frames durchlaufen).

Um der Frage (oder Antwort) zuvor zu kommen, JA, ich habe die SUCHE BENUTZT...auch etliches gefunden, alles ausprobiert, und aber jedesmal einen anderen Fehler gehabt. Dann hab ich aus dem bis jetzt "Gelerntem" eine Prozedur geschrieben, die meiner Meinung nach stimmen sollte:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
procedure LadeLinks(WB: TWebBrowser; memo1: TMemo);
  var htmlDoc: IHTMLDocument2;      //uses MSHTML
    j, i, l, t: integer;
    link: IHTMLElement;
    s: string;
begin
  htmlDoc := WB.Document as IHTMLDocument2;
  j:= htmlDoc.frames.length - 1;
  for I := 0 to j do
  begin
    t:= htmlDoc.frames.item(i).document.links.length - 1;
    for l := 0 to t do
    begin
      link:= HTMLDoc.Links.item(l,0as IHTMLElement;
      s:= link.tostring;        //---> hier kommt der Zugriffsfehler...
      Memo1.Lines.Append(s);
    end;
  end;
end;


Folgender Fehler kommt leider an der markierten Stelle:

Erste Gelegenheit für Exception bei $7C812A5B. Exception-Klasse EAccessViolation mit Meldung 'Access violation at address 004799D0 in module 'Project1.exe'. Read of address 00000000'. Prozess Project1.exe (1244)

Hab ich irgendwas vergessen? Vielleicht ganz simpel, aber ich komm einfach nich dahinter...
Vllt. fällt euch ja was ein...

Danke schonmal, Dolognio