Autor Beitrag
stiftmaster
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 149



BeitragVerfasst: So 18.09.05 16:56 
Hallo Leute,

ich möchte den Quellcode einer Webseite in einem Memo-Feld speichern. Dafür habe ich eben ein neues Test-Programm angelegt und die webbrowser-Komponente integriert. Über einen Button-Klick passiert dann folgendes:

ausblenden Delphi-Quelltext
1:
2:
WebBrowser1.Navigate('http://sehen-design.mine.nu:81/test.html');
Memo1.Lines.Add(webbrowser1.OleObject.Document.documentElement.innerHTML);


Den Inhalt zeigt er auch wunderbar im WebBrowser1 an - doch wenn er in die nächste Zeile kommt, schmeißt er n' üble Zugriffsverletzung und ich weiß einfach net wieso.

Habt ihr n' Ahnung, was ich falsch mache?

Dankend

Stefan
Lannes
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2352
Erhaltene Danke: 4

Win XP, 95, 3.11, IE6
D3 Prof, D4 Standard, D2005 PE, TurboDelphi, Lazarus, D2010
BeitragVerfasst: Mo 19.09.05 23:09 
Hallo,

Die Zugriffsverletzung wird wahrscheinlich dadurch entstehen,
das der Webbrowser noch nicht mit dem Laden fertig ist,
und schon versucht wird auf den Quellcode zuzugreifen.
Setz mal die Zeilen nach Navigate ein:
ausblenden Delphi-Quelltext
1:
2:
while (WebBrowser1.ReadyState < READYSTATE_COMPLETE) do  
  Application.ProcessMessages;

dann wird die Zeile mit Memo1.Lines.Add erst ausgeführt wenn READYSTATE_COMPLETE zutrifft.

_________________
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )