Многопоточность Vb с ошибкой " указанное приведение недопустимо”
Всем привет..
Если я запускаю приведенный ниже код без резьбы, все работает так, как должно, но когда я запускаю его как новый поток, то получаю "систему".Ошибка InvalidCastException с " указанным приведением недопустима”
Заранее благодарю вас за любую помощь, которую вы можете оказать.
Dim thread1 As New Thread(AddressOf th10) Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load CheckForIllegalCrossThreadCalls = False Button1.PerformClick() End Sub Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click thread1.Start() End Sub Public Sub th10() WebBrowser3.Navigate("https://www.somewebsite.com") While WebBrowser3.ReadyState <> WebBrowserReadyState.Complete Application.DoEvents() End While Dim pos4 As Long Dim bp2 As String Dim value1 As String = WebBrowser3.Document.Body.InnerText pos4 = InStr(pos4 + 1, value1, "sometextfromwebsite", vbTextCompare) bp2 = value1.Substring(pos4) Dim startIndex1 As Integer = 17 Dim length1 As Integer = 16 Dim substring1 As String = bp2.Substring(startIndex1, length1) TextBox3.Text = substring1 End Sub
Что я уже пробовал:
Эта ошибка отображается в "While WebBrowser3. ReadyState..." и когда я меняю ее на;
Static start As Single start = VB.Timer() Do While VB.Timer() < start + 5 Application.DoEvents() Loop
(Мне не нравится идея указывать время загрузки страницы, в некоторых случаях это может занять больше времени)
...вроде бы все в порядке, но потом я получаю ту же ошибку на “Dim value1 As String = WebBrowser3.Document.Body.Через свойство innerText”