(Delphi 7 Personal unter Windows XP Home, IE7)
Hallihallo ihr,
ein weiteres Mal Probleme mit TWebBrowser. Ich verwende den, um eine Seite auf Änderungen im Quelltext zu überprüfen.
Zur Seite: Es gibt 2 verschiedene Versionen der Seite (sprich eine
URL, aber über eine Zufallsvariable ändert sich der sichtbare Inhalt), wobei es kein Problem ist, die Seiten zu unterscheiden, ich mach das mit
Hugo := WebBrowser.OleObject.Document.Body.InnerHtml;
und durchforste dann den Quelltext. Ist es Seite A, soll ein A-spezifischer Code ausgeführt werden, bei B B-spezifischer Code. Danach soll die Seite neu geladen werden.
Leider hab ich hierbei folgendes Problem, und zwar eine EOleException "Die angeforderte Ressource wird bereits verwendet.", die ausgelöst wird von WebBrowser.Navigate(myURL); im DocumentComplete-Block.
Vereinfacht:
Delphi-Quellcode:
procedure TForm1.btStartClick(Sender: TObject);
begin
WebBrowser.Navigate(myURL);
end;
procedure TForm1.WebBrowserDocumentComplete(ASender: TObject;
const pDisp: IDispatch;
var URL: OleVariant);
begin
//Code, um zwischen A und B zu entscheiden und dann
//Ausfuehren des seitenspezifischen Codes
WebBrowser.Navigate(myURL);
end;
Offensichtlich kann ich im DocumentComplete-Block nicht auch WebBrowser zugreifen oder zumindest nicht Navigate() aufrufen, warum auch immer. Weiß einer, wie ich dieses Problem beheben kann? Mit Navigate2() klappt es auch nicht, habe ich schon probiert.
Der Sinn dieser Struktur ist halt, dass nach Fertigladen der Seite zuerst überprüft und alles wichtige ausgeführt wird und danach die Seite neu geöffnet wird, um zu schauen, wie die Seite dieses Mal aussieht.
Bin ich grad komplett auf dem falschen Dampfer? =)
Würd mich über eine weiterbringende Antwort freuen.
Grüßle
Daniel