Hallo,
mein kleines Programm macht mir Probleme.
Was macht das Program?
- Man öffnet eine URL im TWebBrowser.
- Schiebt alle Links in eine TListBox.
- Das Program besucht diese Links nacheinander.
Während der Laufzeit bekomme ich bei jeder Seite die Fehlermeldung: Die angeforderte Ressource wird bereits verwendet.
Damit kann ich leider nichts anfangen. Im Debug Fenster wird mir nichts angezeigt.
Ich gehe mal von einem Denkfehler beim Zugriff auf den WebBrowsers aus, finde das Problem aber allein nicht.
Habt ihr eine Idee dazu?
Der Quellcode:
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: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36:
| var index: integer = 0; Form1: TForm1; Webpage: IHTMLDocument2; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin webbrowser1.Navigate(edit1.Text); end;
procedure TForm1.Button3Click(Sender: TObject); var i: integer; begin for i := 0 to Webpage.Links.Length - 1 do Listbox1.Items.Add(webbrowser1.OleObject.Document.Links.Item(i, '')); end;
procedure TForm1.webbrowser1OnDocumentComplete(Sender: TObject); begin Webpage:= webbrowser1.Document as IHTMLDocument2;; if listbox1.Items.Count > index Then begin Sleep(3000); webbrowser1.Navigate(listbox1.Items[index]); Listbox1.Items.Delete(index); index := index + 1; end; end;
end. |