Entwickler-Ecke

Internet / Netzwerk - Problem!! Feld auslesen nach post(TWebBrowser)


s0xtech - So 12.08.07 02:45
Titel: Problem!! Feld auslesen nach post(TWebBrowser)
moin

ich hab ein problem. eins was oft auftritt bzw. immer. Wenn ich ein formular ausfülle. und es denn abschicke denn will ich danach ein feld auslesen. aber JEDES MAL sagt der das das feld nicht vorhanden ist. also ne fehlermeldung gibt.


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:
procedure TForm1.Button1Click(Sender: TObject);
var x:string;
begin
GroupBox2.Visible := False;

WebBrowser1.Navigate('http://save.raidrush.ws');
repeat
  Application.ProcessMessages;
  Sleep(0);
until WebBrowser1.ReadyState = READYSTATE_COMPLETE;
  WbSetEditField(WebBrowser1, 'ordner_name', Edit1.Text);
  WbSetEditField(WebBrowser1, 'links', Memo1.Text);
  WbSetEditField(WebBrowser1, 'passwort', Edit2.Text);
  WbSetEditField(WebBrowser1, 'email', Edit3.Text);
  WbSetEditField(WebBrowser1, 'page_url', Edit4.Text);
  WbBtnClick(WebBrowser1, 'submit');

####HIER GEHTS LOS. DA WEIS ICH NICHT OBS RICHTIG IST SO. DIE FUNKTIONEN SIND ALLE IN ORDNUNG!!


repeat
 Application.ProcessMessages;
 Sleep(0);
until WebBrowser1.ReadyState = READYSTATE_COMPLETE;
GroupBox2.Visible := True;
Edit5.Text := WebBrowser1.OleObject.Document.forms.Item('url').Item(0).Value;


end;


Dose - Mi 17.10.07 16:17

Mich würde ja mal interessieren was das hier für Routinen sind? Gibt es die irgendwo als Unit? Also ich meine die WBSetField usw.


jaenicke - Mi 17.10.07 19:17

user profile iconDose hat folgendes geschrieben:
Mich würde ja mal interessieren was das hier für Routinen sind? Gibt es die irgendwo als Unit? Also ich meine die WBSetField usw.
Wie wärs mit 10 Sekunden Suche? :roll:
http://www.delphi-library.de/topic_mit+Feldern+und+Buttons+im+Webbrowser+arbeiten_8482.html

Zum Thema:
Es gibt das Ereignis OnNavigateComplete2, OnDocumentComplete2 und andere. Wie wärs, wenn du die benutzt, anstatt das mit Warteschleifen oder so hinzufriemeln? ;-)
ReadyState funktioniert AFAIK z.B. bei Frames nicht so, wie du es in der Schleife erwartest.