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:
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; 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,0) as IHTMLElement; s:= link.tostring; 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