Chrissy (21.05.2013), Gangstersheep (21.05.2013)
Thema: Pause im Code
-
21.05.2013, 14:14 #1
Pause im Code
Hey U-Hacks,
ich möchte gern in VB.net eine Pause im Code einbauen damit ich im WebBrowser von einer Website Daten Auslesen kann. Die Pause sollte ca. 1-2 Sekunden haben damit der Webbrowser ruhig Laden kann und nach de Pause den Text in eine RichTextbox ausgeben kann.
Code Beispiel:
wb.navigate("URL")
PAUSE (1-2 Sekunden)
rtb.Text = wb.Document.GetElementById("Div-Container").InnerTxt
Beim zweiten durchlauf möchte ich das selbe machen aber mit einer anderen Abfrage im Webbrowser. Wenn ich dies allerdings mache wird mir der Text der ersten Abfrage angezeigt. Der zweite Text dann erst bei einer neuen Abfrage, usw.
Ich habe schon sachen gelesen wie Thread.sleep() und so was aber das pausiert bei mir die komplette Form. Auch habe ich es mit dem Webbrowser DocumentComplete-Event versucht, kein Erfolg (Obwohl ich mir dort die Lösung erhofft hatte...). Hab also schon sogut wie jede Möglichkeit versucht die ich via Google finden konnte.
Nun ist meine Frage an euch: Habt ihr vielleicht eine andere, sauberere Idee bzw. Lösung?
Ich bin für Vorschläge offen und für einen Tipp oder eine Lösung sehr dankbar! : )
Gruß.
-
21.05.2013, 14:20 #2
- Registriert seit
- 19.11.2011
- Beiträge
- 496
Thanked 412 Times in 268 PostsAW: Pause im Code
Business-Code lässt man nicht im GUI-Thread ausführen.
Für dich heißt das, lass deine Logik in einem eigenen Thread ausführen. Dort kannst du auch ein Thread.sleep aufrufen, ohne dass das ganze Programm einfriert. Ins GUI würde ich dann aber noch eine ProgressBar einfügen, damit der Benutzer weiß, dass was im Hintergrund geschieht.Geändert von Mr. White (21.05.2013 um 14:21 Uhr)
-
21.05.2013, 14:20 #3
AW: Pause im Code
@GerMaN-DeLuXe
Bitte lies doch was er schreibt, wenn er auf dich hören würde, hätte er jetzt einen völlig unnötigen Thread am Laufen, auch wenn deine allgemeine Aussage stimmt, hätte es hier doch mehr Schaden angerichtet.
Zumal Threading in Kombination mit ActiveX-Steuerelementen ne SEHR lustige Angelegenheit werden kann.
@Gangstersheep
Eh du hattest mir ja ne PN geschrieben, ich hatte aber nicht gelesen, dass du das machen willst, damit der Browser zu Ende laden kann.
Die Klasse WebBrowser hat ein Event namens 'OnDocumentCompleted'
Schauste dir mal an.
Und für die Zukunft:
Thread.Sleep(int) und ähnliche Konstrukte sind der letzte Müll und führen oft zu entweder schwer auffindbaren Fehlern, oder zu extremen Performaceeinbußen (und ich rede hier nicht von Kleinigkeiten, wenn der User am Ende 30 minuten warten muss bis sein Programm wieder reagiert und so Scherze).
@DMW007 HAHA ZU SPÄT DU LAHMER SACK!!!Java:
Spoiler:
Lustige Quotes:
Spoiler:
-
The Following 2 Users Say Thank You to Sky.NET For This Useful Post:
-
21.05.2013, 14:21 #4
- Registriert seit
- 15.11.2011
- Beiträge
- 7.839
- Blog Entries
- 5
Thanked 9.358 Times in 3.198 PostsAW: Pause im Code
Zitat von rVs14
Die Lösung ist aber eh sehr unsauber, das DocumentCompleted-Event ist da eine wesentlich bessere Lösung. Funktioniert auch wenn mans richtig macht, hab ich auch schon einige male genutzt.
Schau dir das mal an: WebBrowser.DocumentCompleted-Ereignis (System.Windows.Forms)
Ansonsten poste deinen Source, sonst kann dir auch nicht wirklich geholfen werden.
-
The Following User Says Thank You to DMW007 For This Useful Post:
Gangstersheep (21.05.2013)
-
21.05.2013, 15:03 #5
- Registriert seit
- 26.10.2011
- Beiträge
- 1.196
- Blog Entries
- 2
Thanked 1.597 Times in 726 PostsAW: Pause im Code
Hat es einen bestimmten Grund weshalb du hier einen Webbrowser nutzt oder ist dir die Klasse HttpWebRequest nicht bekannt?
Anleitung: [VB 2010] HttpWebRequest Tutorial für Anfänger+Fortgeschrittene - Internet/LAN - Visual-Basic-Forum VB-Paradise.de
btw: Igitt, wie sieht denn die msdn-Seite nun aus...!? Schrecklich
-
The Following User Says Thank You to patlux For This Useful Post:
Gangstersheep (21.05.2013)
-
21.05.2013, 17:36 #6
AW: Pause im Code
Patlux seine Lösung funktioniert wunderbar!
Kann also geschlossen werden.
Ähnliche Themen
-
Verschenke 48h UL-Code
Von Xatos im Forum VerschenkeAntworten: 0Letzter Beitrag: 22.08.2013, 19:06 -
Camtasia 8 - Pause?
Von ShinjiKagawa im Forum SoftwareAntworten: 4Letzter Beitrag: 20.10.2012, 23:07
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.