Manfred X schrieb:
Zitat: | | (..)Zu dem Zweck kann man vor dem Navigate-Aufruf eine
modulglobal definierte
Datetime-Variable mit der aktuellen Zeit füllen.
Im DocumentCompleted-Event wird diese Zeit gelöscht (Variable
auf Nothing setzen).
Der Timer prüft im Tick-Event, ob eine Startzeit gegeben ist
und bestimmt
ggf. die Differenz zwischen aktueller Zeit und Startzeit. Ist
diese Differenz
zu groß, wird der Navigate-Aufruf erneut
ausgeführt. | |
Ich komme ja irgendwie immer noch nicht so richtig weiter
Der Hinweis auf Application.DoEvents() war ja hilfreich, und bis zu einem bestimmten Punkt funktioniert der auch wie er soll und es gedacht ist.
Aber plötzlich bleibt das Tool dann doch plötzlich stehen, meistens bei/mit einem bestimmten URL.
Ich habe, um das herauszufinden, das Programm mal bis zu dem Punkt laufen lassen, bevor zu diesem Link navigiert werden soll.
Das Browser-Steuerelement heißt Web_Url1, der Web_Url1.Navigate(New Uri(Link) wird durchgeführt, der Code geht zum Web_Url_Navigated, springt wieder zurück in die Navigate-Sub.
Ich habe gleich hinter dem Navigate-Befehl die Application.DoEvents() eingefügt mit einer Bedingung, die durch die DocumentCompleted-Eigenschaft erfüllt wird, so dass das Programm beim nächsten Rücksprung in das Navigate-Ereignis die Schleife mit Application.DoEvents() verlässt.
Der Code schaut so aus (bitte nicht lachen, ich bin halt VB.NET-Neuling):
Private Sub Sub_Folge_Url_navigieren_(Url1_Sub_Weiterleitung_ As String)
Try
Web_Url1.Navigate(New Uri(Url1_Sub_Weiterleitung_))
While Web_Url1.Tag <> ""
Application.DoEvents()
End While
Catch Erklaerung1_ As System.UriFormatException
Return
End Try
End Sub
Private Sub Web_Url1_Navigated(sender As Object, e As _
WebBrowserNavigatedEventArgs) Handles
Web_Url1.Navigated
Url1_Eingabe.Text = Web_Url1.Url.ToString()
End Sub
Private Sub Web_Url1_DocumentCompleted(sender As Object, e As _
WebBrowserDocumentCompletedEventArgs)
Handles Web_Url1.DocumentCompleted
AddHandler CType(sender, WebBrowser).Document.Window.Error,
AddressOf Window_Error
Web_Url1.Tag = ""
End Sub Das Thema ist halt wie geschrieben, dass der Code mit benanntem Url die letzte Sub nicht erreicht und somit in einer Endlos-Schleife hängt (klar, Web_Url1.Tag hat ja Zeichen) und dort nicht mehr herauskommt, auch nicht in die Navigated-Sub.
Ich habe natürlich Dein oben zitiertes Statement mit dem Timer im Kopf, kann aber leider ohne (aussagefähiges) Beispiel nicht viel damit anfangen
Ich bin nunmal leider jemand, der Beispiele zum Verstehen-können und Ausprobieren benötigt, auf diese Weise habe ich mich in der Zwischenzeit z. B. recht gut in die "Geheimnisse" des Umgangs mit generischen Listen, auch mehrdimensionale, hineingearbeitet.
Im Moment komme ich da wirklich nicht weiter, das nervt und frustriert
|