Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#10

Re: Über Webbrowser in Textarea schreiben

  Alt 3. Jul 2006, 09:29
Hallo.


Zitat von Cöster:
Das Problem liegt darin, dass der Befehl zu früh ausgeführt wird (bevor die Seite angezeigt wird). Das wollte ich eigentlich mit while WebBrowser1.ReadyState <> READYSTATE_COMPLETE do Application.ProcessMessages; regeln, aber das funzt irgendwie nicht.
Falls du einen Compiler-Fehler erhältst, dann vielleicht deshalb:

while WebBrowser1.ReadyState <> 'completedo Application.ProcessMessages; READSTATE_COMPLETE ist als $4 definiert.

Zitat von Cöster:
Das liegt wohl daran, dass die Seite, auf der die Textarea ist, nicht durch WebBrowser1.Navigate('www....') sondern nur durch die Simulation eines Button-Klicks im Webbrowser per WebBrowser1.OleObject.document.Frames.submitForm('0','playeredit'); angezeigt werden kann.
Das mag ich nicht glauben.

Zitat von Cöster:
Gibt es einen Befehl, der prüft, ob die Seite vollständig angezeigt wird?
Du hast mehrere Möglichkeiten neben der Überprüfung von readyState:

Delphi-Quellcode:
while WebBrowser.ControlInterface.Busy do
  Application.ProcessMessages;
Oder du wartest auf Nachricht:

Delphi-Quellcode:
procedure TWebForm2.WebBrowserBeforeNavigate2(Sender: TObject;
  const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
begin
  if pDisp = WebBrowser.DefaultInterface then
    DocumentLoaded := false;
end;

procedure TWebForm2.WebBrowserDocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
  if pDisp = WebBrowser.DefaultInterface then
    DocumentLoaded := true;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat