Autor Beitrag
serious-cool
Hält's aus hier
Beiträge: 1



BeitragVerfasst: Mo 24.08.09 23:06 
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:
ausblenden volle Höhe Delphi-Quelltext
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}
//Aufruf der Seite die abgearbeitet werden soll
procedure TForm1.Button1Click(Sender: TObject);
begin
webbrowser1.Navigate(edit1.Text);
end;

//Alle Urls manuell in die Listbox Speichern
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;

//Listbox durchlaufen
//ruft sich selbst auf bis ,,out of Index Exeption"
procedure TForm1.webbrowser1OnDocumentComplete(Sender: TObject);
begin
Webpage:= webbrowser1.Document as IHTMLDocument2;;
if listbox1.Items.Count > index  Then
  begin
    Sleep(3000);// 3 Sec bis nächster Seitenaufruf
    webbrowser1.Navigate(listbox1.Items[index]);//nächste Url aufrufen
    Listbox1.Items.Delete(index);//Url aus Liste löschen
    index := index  + 1; //index erhöhen
  end;
end;

end.